Replace category titles

时间:2018-04-26 作者:IXN

我想在类别档案中显示不同于类别标题的标题。

为此,我使用if语句创建了一个函数:

function category_titles_change() {
    if (is_category(\'name1\')) { ?>  
        new title 1
    <?php }
    elseif (is_category(\'name2\')) { ?>  
        new title 2
    <?php }
    elseif (is_category(\'name3\')) { ?>  
        new title 3
    <?php }
}
如何使用此更改<title></title> 如所示<head></head>

我试过这个:

function head_category_titles_change() {    
 if (is_category()) { ?> 
 <title> 
<?php category_titles_change(); ?> 
 </title> 
<?php }}
add_action( \'wp_head\', \'head_category_titles_change\' );
但这是第二个广告<title><head> 除了默认标题之外。如何用所需的标题替换类别存档中的默认标题?

2 个回复
SO网友:sagar

好的,谢谢你的提问,我是在你发布了这个之后做的

function category_title( $title ){
if( is_category(\'name1\') ){
    $title = \'name1 title\';
}elseif( is_category(\'name2\') ){
    $title = \'name2 title\';
}
return $title;
}
add_filter( \'get_the_archive_title\', \'category_title\' );
希望这有帮助

SO网友:Krzysiek Dróżdż

你不应该使用wp_head 操作-它不会给您机会修改已打印的标题。但WordPress对此有专门的钩子:wp_title.

下面的代码应该可以做到这一点:

function my_change_category_title( $title, $sep ) {
    if ( is_category(\'name1\') ) {
        return \'Cat 1 title\';
    }
    if ( is_category(\'name2\') ) {
        return \'Cat 2 title\';
    }
    ...

    return $title;
}
add_filter( \'wp_title\', \'my_change_category_title\', 10, 2 );
您也可以尝试使用pre_get_document_title 具有相同过滤功能的挂钩。

结束

相关推荐

Get Categories查询在函数.php中不起作用

我正在尝试在函数中获取自定义帖子类型的类别。php,但它不返回任何值,当我在任何主题文件中运行此查询时,它工作正常。这是我的密码function get_destinations(){ $args = array( \'type\' => \'accomodation\', \'child_of\' => 0, \'parent\'