使用wp_title筛选器设置标题

时间:2012-05-08 作者:Richard Bagshaw

我想做一些非常简单的事情,但我一直在寻找我需要在WordPress中执行此操作的地方。

当我的WordPress网站上有人访问博客文章页面时,我希望博客文章中的标题替换为页面标题。

我想我可以用wp\\u title filter hook做到这一点?

我想了一下:-

add_filter(\'wp_title\', \'filter_pagetitle\');

function filter_pagetitle($title) {
 $the_post_id    = get_the_ID();
 $the_post_data  = get_post($the_post_id);
 $title = $the_post_data->post_title;

 return $title;
}
然而,我有点不知道我把这个放在哪里,我想它需要在循环单。php,因为我希望它只应用于单个页面,但我也看到这需要在函数中实现。php在我的主题中?

任何帮助都将不胜感激:-)

富有的

1 个回复
SO网友:Bainternet

因为wp\\u title()通常从标头调用。php文件,然后在WordPress的每个页面上运行(通常是前端)。因此,请在主题的函数中放置过滤器挂钩和函数。php文件,只需在更改标题之前检查它是否是一篇博客文章。类似这样:

add_filter(\'wp_title\', \'filter_pagetitle\');
function filter_pagetitle($title) {
    //check if its a blog post
    if (!is_single())
        return $title;

    //if you get here then its a blog post so change the title
    global $wp_query;
    if (isset($wp_query->post->post_title)){
        return $wp_query->post->post_title;
    }

    //if wordpress can\'t find the title return the default
    return $title;
}

结束

相关推荐

Echo title attribute php

我有以下功能。php:function twentyten_continue_reading_link() { global $id; return \' <span class=\"readmore\"><a href=\"\'. get_permalink($id) . \'\" title=\"\' . the_title_attribute( array(\'echo\' => 0, \'before\' => \'Permalink to: \',