Overwrite category head title

时间:2012-09-28 作者:mbajur

有没有办法覆盖<head><title>Category title</title></head> 标签

假设我有一个“视频”类别,当用户指向他的浏览器时www.website.com/category/videos/, 页面标题(此标题位于head 节)是Videos. 我需要做的是以某种方式覆盖它以显示Archive 字符串(不更改此类别标题),它可以以某种方式硬编码,因为我只有这一个类别。

任何帮助都将不胜感激。

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

您可以使用wp_title 用于修改wp_title 作用

基于Codex示例的快速示例:

add_filter( \'wp_title\', \'wpa66574_title_filter\', 10, 3 );

function wpa66574_title_filter( $title, $sep, $seplocation ) {
    // account for $seplocation
    $left_sep = ( $seplocation != \'right\' ? \' \' . $sep . \' \' : \'\' );
    $right_sep = ( $seplocation != \'right\' ? \'\' : \' \' . $sep . \' \' );

    $page_type = \'\';

    // get special page type (if any)
    if( is_category( \'videos\' ) ) $page_type = $left_sep . \'Archive\' . $right_sep;

    // get the page number
    if( get_query_var( \'paged\' ) ) $page_num = $left_sep. get_query_var( \'paged\' ) . $right_sep; // on index
    elseif( get_query_var( \'page\' ) ) $page_num = $left_sep . get_query_var( \'page\' ) . $right_sep; // on single
    else $page_num = \'\';

    // concoct and return title
    return $page_type . $title . $page_num;
}

SO网友:SeventhSteel

根据您的主题header.php 模板,只需找到<title> 标签,类似这样:

<title><?php wp_title( \'\' ); ?></title>
然后检查您所在的页面类型,并根据需要进行编辑:

<title>
    <?php if ( is_category( \'video\' ) ) echo \'Archive: \'; ?>
    <?php wp_title( \'\' ); ?>
</title>
请记住,主题和插件会<title> 标记所有时间,因此您可能会遇到冲突。如果你不想直接搅乱你的主题,可以尝试一个插件来处理这个问题,比如WordPress SEO.

结束

相关推荐

在Functions.php中创建“无文件”页面模板

(所谓“页面模板”,我指的是具有\"Template Name\" header 可在管理页面的“模板”下拉字段中选择。)在多个实例中,我构建了页面模板,可以通过挂接到\\u内容或pre\\u get\\u帖子或类似的内容来完成。这让我想知道是否有一种方法可以在functions.php 或者不创建主题文件本身的插件。我想这样做的原因:在我想到的场景中,我通常只是复制页面。php几乎一字不差。这意味着将来对页面的任何更改。php需要制作两次。随着儿童主题的更新,这更加令人痛苦</我喜欢“模板”字段U