The wp_title WordPress PHP filter allows you to modify the page title displayed in the browser tab.
Usage
add_filter('wp_title', 'your_custom_function', 10, 3);
function your_custom_function($title, $sep, $seplocation) {
// your custom code here
return $title;
}
Parameters
$title(string) – The current page title.$sep(string) – The title separator.$seplocation(string) – Location of the separator (‘left’ or ‘right’).
More information
See WordPress Developer Resources: wp_title
Examples
Add a custom prefix to the title
Adds “My Blog – ” before the current title.
add_filter('wp_title', 'add_custom_prefix', 10, 3);
function add_custom_prefix($title, $sep, $seplocation) {
$title = "My Blog - " . $title;
return $title;
}
Change the title separator
Changes the separator from the default to a pipe (|) character.
add_filter('wp_title', 'change_title_separator', 10, 3);
function change_title_separator($title, $sep, $seplocation) {
$sep = '|';
return $title;
}
Reverse title and separator order
Reverses the order of the title and the separator.
add_filter('wp_title', 'reverse_title_order', 10, 3);
function reverse_title_order($title, $sep, $seplocation) {
if ($seplocation == 'left') {
$seplocation = 'right';
} else {
$seplocation = 'left';
}
return $title;
}
Append a custom string to the title
Adds “- My Custom String” after the current title.
add_filter('wp_title', 'append_custom_string', 10, 3);
function append_custom_string($title, $sep, $seplocation) {
$title .= " - My Custom String";
return $title;
}
Display custom title for a specific page
Displays a custom title for a specific page with ID 42.
add_filter('wp_title', 'set_custom_title_for_page', 10, 3);
function set_custom_title_for_page($title, $sep, $seplocation) {
if (is_page(42)) {
$title = "My Custom Title";
}
return $title;
}