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

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?