我的标题标签由wp_title()函数组成。但是,在一个特定页面上,它包含我的自定义分类名称,我想从标题中删除它。
我的自定义分类法被命名为“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');
答案 0 :(得分: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 :(得分: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');