我正在尝试在RSS输出中测试帖子类别,但是in\\u category()或has\\u category()函数都将失败。“手动”测试类别将起作用。我错过了什么?
add_filter( "the_content_feed", "RSS_my_filter" );
function RSS_my_filter($content){
global $post;
if (has_category(\'Class Blog\', $post-ID)){
// FAILS!!!!
$content = \'***************\';
}
$categories_list = get_the_category( $post->ID );
foreach ($categories_list as $category) {
if($category->name == \'Class Blog\'){
// WORKS
$content = \'***************\';
}
}
return $content;
}
最合适的回答,由SO网友:Jacob Peattie 整理而成
$post-ID
不同于$post->ID
. 你用前者来has_category()
, 但后者用于get_the_category()
. $post->ID
是正确的。