The post_type_archive_title WordPress PHP filter allows you to modify the title of a post type archive page.
Usage
add_filter('post_type_archive_title', 'your_custom_function', 10, 2);
function your_custom_function($post_type_name, $post_type) {
// your custom code here
return $post_type_name;
}
Parameters
$post_type_name(string) – The name label of the post type.$post_type(string) – The post type itself.
More information
See WordPress Developer Resources: post_type_archive_title
Examples
Change Archive Title for a Custom Post Type
Modify the title of a custom post type archive page, for example, a ‘Books’ post type.
add_filter('post_type_archive_title', 'change_books_archive_title', 10, 2);
function change_books_archive_title($post_type_name, $post_type) {
if ($post_type == 'books') {
$post_type_name = 'Our Favorite Books';
}
return $post_type_name;
}
Add a Prefix to Post Type Archive Titles
Add a prefix to all post type archive page titles.
add_filter('post_type_archive_title', 'add_prefix_to_archive_title', 10, 2);
function add_prefix_to_archive_title($post_type_name, $post_type) {
$post_type_name = 'Browse: ' . $post_type_name;
return $post_type_name;
}
Remove ‘Archives:’ Prefix from Post Type Archive Titles
Remove the ‘Archives:’ prefix from post type archive page titles.
add_filter('post_type_archive_title', 'remove_archives_prefix', 10, 2);
function remove_archives_prefix($post_type_name, $post_type) {
$post_type_name = str_replace('Archives:', '', $post_type_name);
return $post_type_name;
}
Append Year to Post Type Archive Titles
Add the current year to post type archive page titles.
add_filter('post_type_archive_title', 'append_year_to_archive_title', 10, 2);
function append_year_to_archive_title($post_type_name, $post_type) {
$year = date('Y');
$post_type_name .= ' - ' . $year;
return $post_type_name;
}
Uppercase Post Type Archive Titles
Make all post type archive page titles uppercase.
add_filter('post_type_archive_title', 'uppercase_archive_title', 10, 2);
function uppercase_archive_title($post_type_name, $post_type) {
$post_type_name = strtoupper($post_type_name);
return $post_type_name;
}