如何将文本附加到自定义帖子类型帖子的标题中(而不影响页面上的所有标题)?

时间:2012-07-03 作者:k998

这个问题\'How to correctly get post type in a the_title filter\' 这正是我想要实现的。我已经设置了如下过滤器,但它会影响页面上的所有标题(在菜单、侧栏和页脚中),而不仅仅是文章标题。

显然我需要使用add_filter 就在循环和添加之前remove_filter 在循环之后,但我不知道怎么做。我正在开发一个插件,并且正在寻找一个不涉及对主题/模板文件进行任何更改的解决方案。

喜欢听任何建议。谢谢

function custom_title( $title ) {
    global $post;
    $text = \'Extra text: \';

    if ( get_post_type( $post->ID ) == \'custom_post_type\' ){
        return $text . $title;
    }
    else {
        return $title;
    }
}

add_filter( \'the_title\', array($this, \'custom_title\' ) );

2 个回复
SO网友:Milo

我相信检查in_the_loop 将用于主查询:

function custom_title( $title ) {
    global $post;
    $text = \'Extra text: \';

    if ( get_post_type( $post->ID ) == \'custom_post_type\' && in_the_loop() ){
        return $text . $title;
    }
    else {
        return $title;
    }
}

add_filter( \'the_title\', array($this, \'custom_title\' ) );

SO网友:Tahina

也许更简单的方法

if ( $post->post_type == \'custom_post_type\' ) 

结束

相关推荐