如何从wp_title中删除“Taxonomy Name:”

时间:2011-09-20 作者:supertrue

生成的wp\\U标题<title> 在我的自定义分类法归档页面中,包含带有冒号的单数分类法名称。我不知道这是从哪里来的(或者它是否是默认的Wordpress行为),我想删除它。例如,在名为“香精”的分类法中术语“香草”的归档页面中<title>

口味:香草|我的网站名称

我想要的标题是

香草|我的网站名称

标题中的代码。php是这样的:

<title><?php wp_title(\'|\', true, \'right\'); ?></title>
函数中只有一个函数。连接到wp\\u标题中的php,它看起来与分类名称无关。我不知道这是从哪里来的,也不知道如何删除它。

如何删除此项?

(答案在How to remove parent taxonomy name from the title generated by wp_title()? 这是不可概括的,我猜有一种更直接的方法。)

2 个回复
最合适的回答,由SO网友:Mamaduka 整理而成

使用wp_title 控制输出的滤波器

function mamaduka_remove_tax_name( $title, $sep, $seplocation ) {
    if ( is_tax() ) {
        $term_title = single_term_title( \'\', false );

        // Determines position of separator
        if ( \'right\' == $seplocation ) {
            $title = $term_title . " $sep ";
        } else {
            $title = " $sep " . $term_title;
        }
    }

    return $title;
}
add_filter( \'wp_title\', \'mamaduka_remove_tax_name\', 10, 3 );

SO网友:chrisguitarguy

我建议您使用SEO插件来控制所有标题。WordPress SEO 由尤斯特是非常好的。

或者您可以将过滤器添加到wp_title 更改输出。

<?php 
add_filter( \'wp_title\', \'wpse29020_fix_title\', 10, 3 );
function wpse29020_fix_title( $title, $sep, $seplocation )
{
    // If this isn\'t our flavors taxonomy, just return the title
    if( ! is_tax( \'flavors\' ) ) return $title;

    // Get the term
    $obj = get_queried_object();

    // Get the terms name
    $name = sanitize_term_field( \'name\', $obj->name, $obj->term_id, \'flavors\', \'display\' );

    // construct the title
    $title = $name . " $sep " . bloginfo( \'name\' );
    return $title;
}

结束

相关推荐

每页无法多次使用Get_Page_by_TITLE()?

在我的一个页面模板上,我需要包含其他几个页面的内容。例如,如果我的页面模板名为Fruit,我需要从名为Apple、Pear、Orange、Lime等的页面中提取页面内容。这使我的用户能够从管理区域分别编辑Apple和Lime<我正在尝试使用get_page_by_title() 拉入这些子页,但该函数似乎只希望每页工作一次。我第一次打电话get_page_by_title(\'Apple\') 工作正常。当我稍后打电话时get_page_by_title(\'Lime\') 它再