Overwrite title tag using a Wordpress plugin

2019-08-16 17:54发布

问题:

I am trying to overwrite the <title> tag of a page using a Wordpress plugin. I don't want to change the theme's code. I just wanna force the theme to change some page titles via the plugin.

The theme uses add_theme_support( 'title-tag' ). Note that the use of wp_title is now deprecated.

回答1:

Your problem is that you can not use wp_title() in the theme if the theme already supports title-tag. The <head> of your theme should look like this:

<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <?php wp_head(); ?>
</head>

The filter and title-tag support:

add_action( 'after_setup_theme', 'my_theme_functions' );
function my_theme_functions() {
    add_theme_support( 'title-tag' );
}

add_filter( 'wp_title', 'custom_titles', 10, 2 );
function custom_titles( $title, $sep ) {

    //set custom title here
    $title = "Some other title" . $title;;
    return $title;
}

If you do this, it will work perfectly.



标签: php wordpress