Wordpress - Changing Title Of A Page Dynamically From Within A Plugin
Answer :
A post or page has only one title, the title tag <title>
is the document title.
The filter wp_title
filters the output of wp_title()
function, which was used before to output the title of the document. In WordPress 4.1, the title-tag support in themes was introduced and wp_get_document_title()
is used instead of wp_title()
. So, if your theme supports title-tag
, wp_title
filter has not effect, but you can use a other filters:
pre_get_document_title
to set a new title
add_filter( 'pre_get_document_title', 'cyb_change_page_title' ); function cyb_change_page_title () { return "Custom title"; }
document_title_separator
to filter the title separator
add_filter('document_title_separator', 'cyb_change_document_title_separator'); function cyb_change_document_title_separator ( $sep ) { return "|"; }
documente_title_parts
to filter different parts of the title: title, page number, tagline and site name.
add_filter( 'document_title_parts', 'cyb_change_document_title_parts' ); function cyb_change_document_title_parts ( $title_parts ) { $title_parts['title'] = 'Custom title'; $title_parts['page'] = 54; $title_parts['tagline'] = "Custom tagline"; $title_parts['site'] = "My Site"; // When not on home page return $title_parts; }
PD: You can use current_theme_supports( 'title-tag' )
to check if theme supports title-tag
or not.
Comments
Post a Comment