Archived topic
Remove Prefix Before Title on CPT Archive Pages
7 replies · Started by Dean on September 9, 2020
Hi Tom.
I have created a CPT and also registered 2 custom taxonomies for it similar to how standard WP posts have categories and tags.
However on the CPT taxonomy archives pages I am getting the name of the taxonomy displayed before the title. For example 1 of my taxonomies is "Series". So on the archive page the main <h1> is displayed like this - Series: Example Series -
I searched the forum and found your following gist for those having a similar issue but with Archives in the title.
https://gist.github.com/anonymous/06dbd945fa11991d7af1a8d6800f0f87
However the above gist had no effect for me. I tried change priority and a few different things but couldn't get it to work. Any idea where I am going wrong?
Hi there,
can you share a link to an archive where i can see the issue?
Hi David.
This is on localhost so I cannot share a link.
However, I have found that this snippet has no affect whatsoever:
add_filter( 'get_the_archive_title', 'tu_archive_title_remove_prefix' );
function tu_archive_title_remove_prefix( $title ) {
if ( is_post_type_archive() ) {
$title = post_type_archive_title( '', false );
}
return $title;
}
But this snippet replaces the title with "Test" which is not the desired outcome but I think helps to highlight the issue:
add_filter( 'get_the_archive_title', 'tu_archive_title_remove_prefix' );
function tu_archive_title_remove_prefix( $title ) {
/*if ( is_post_type_archive() ) {
$title = post_type_archive_title( '', false );
}*/
$title = 'Test';
return $title;
}
Here is the code I am using to create the custom taxonomy:
function ls_register_series_taxonomy() {
$labels = array(
'name' => _x( 'Series', 'Taxonomy General Name', 'my-books-cpt' ),
'singular_name' => _x( 'Series', 'Taxonomy Singular Name', 'my-books-cpt' ),
'menu_name' => __( 'Series', 'my-books-cpt' ),
'all_items' => __( 'All Series', 'my-books-cpt' ),
'parent_item' => __( 'Parent Series', 'my-books-cpt' ),
'parent_item_colon' => __( 'Parent Series:', 'my-books-cpt' ),
'new_item_name' => __( 'New Series Name', 'my-books-cpt' ),
'add_new_item' => __( 'Add New Series', 'my-books-cpt' ),
'edit_item' => __( 'Edit Series', 'my-books-cpt' ),
'update_item' => __( 'Update Series', 'my-books-cpt' ),
'view_item' => __( 'View Series', 'my-books-cpt' ),
'separate_items_with_commas' => __( 'Separate Series with commas', 'my-books-cpt' ),
'add_or_remove_items' => __( 'Add or remove Series', 'my-books-cpt' ),
'choose_from_most_used' => __( 'Choose from the most used', 'my-books-cpt' ),
'popular_items' => __( 'Popular Series', 'my-books-cpt' ),
'search_items' => __( 'Search Series', 'my-books-cpt' ),
'not_found' => __( 'Series Not Found', 'my-books-cpt' ),
'no_terms' => __( 'No Series', 'my-books-cpt' ),
'items_list' => __( 'Series list', 'my-books-cpt' ),
'items_list_navigation' => __( 'Series list navigation', 'my-books-cpt' ),
);
$rewrite = array(
'slug' => 'series',
'with_front' => false,
'hierarchical' => true,
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
'rewrite' => $rewrite,
'show_in_rest' => true,
);
register_taxonomy( 'series', array( 'books' ), $args );
}
add_action( 'init', 'ls_register_series_taxonomy');
Hi there,
Since it's a taxonomy archive, you could try this:
add_filter( 'get_the_archive_title', function( $title ) {
if ( is_tax() ) {
$title = single_term_title( '', false );
}
return $title;
} );
Thanks Tom. That did the trick. I didn't realise there was a difference between archive and taxonomy archive. Thought they were all just classed as archives.
Thanks again :-)
You're welcome :)
Ahhh just what I was looking for! GeneratePress team is awesome, everytime I think I'm going to post a support topic, I do a quick search and find the answer 9 times out of 10. Thanks guys!
Awesome, great to hear! Thanks :)