首页 文章

过滤WordPress Headers (wp_title())

提问于
浏览
0

我的 Headers 标签由wp_title()函数组成 . 但是,在一个特定页面上,它包含我的自定义分类名称,我想从 Headers 中删除它 .

我的自定义分类法命名为“serie” . 所以让我们说用户点击“XHTML和CSS”教程系列,他会得到这个:“XHTML和CSS |系列|网站名称”

那个“serie”(这是自定义的分类名称)很突出,所以我想知道如何过滤它,所以它只是“XHTML和CSS |网站名称” . 我在管理面板中的“serie”下创建了“XHTML和CSS”,例如“serie”将是“XHTML和CSS”,“C”,“PHP”,......

我使用这个函数来过滤它,但它似乎不起作用(注意:它为该特定页面加载的模板是taxonomy-serie.php):

function tutorials_wp_title( $title, $sep ) 
{
    global $page, $paged;
    $title = NULL;
    $term = $wp_query->queried_object;
    $current_serie = $term->name;
    $sep = '|';
    if ( is_page_template( 'taxonomy-serie.php' ) ) 
    {
        $title .= "$current_serie $sep ";
        $title .= get_bloginfo( 'name', 'display' );
    }
    return $title;
}
add_filter( 'wp_title', 'tutorials_wp_title');

2 回答

  • 2

    似乎你试图在4.4之后使用弃用的 wp_title 钩子 .

    看到我的另一篇文章:https://stackoverflow.com/a/34268098/2544762

    如果您使用的是WordPress 4.4,请尝试以下代码:

    function tutorials_wp_title( $title, $sep ) 
    {
        global $page, $paged;
        $title = array();
        $term = $wp_query->queried_object;
        $current_serie = $term->name;
        if ( is_page_template( 'taxonomy-serie.php' ) ) 
        {
            $title []= "$current_serie $sep ";
            $title []= get_bloginfo( 'name', 'display' );
        }
        return $title;
    }
    add_filter( 'document_title_parts', 'tutorials_wp_title');
    
  • 1
    function tutorials_wp_title( $title, $sep ) 
    {
    global $page, $paged;
    $title = NULL;
    $term = $wp_query->queried_object;
    $current_serie = $term->name;
    $sep = '|';
    if ( is_page_template( 'taxonomy-serie.php' ) ) 
    {
        $title .= "$current_serie $sep ";
        $title .= get_bloginfo( 'name', 'display' );
    }
    $pos = strpos($title, "serie |");
    if ($pos !== false) {
       $title = str_replace("serie |", "", $title);
    }
    return $title;
    }
    add_filter( 'wp_title', 'tutorials_wp_title');
    

相关问题