In_ategory()在WordPress 4.9.7中不起作用

时间:2018-08-02 作者:Philip

在升级到Wordpress 4.9.7之前,我的模板中有以下代码

if (in_category( \'vid\' )) {
    $vidliclass = \' class="vid"\';
} else {
    $vidliclass = \'\';
}
升级后,属于vid类别的帖子不再返回true。

我使用以下代码检查帖子的类别名称:

$postcat = get_the_category( $post->ID );
if ( ! empty( $postcat ) ) {
    echo esc_html( $postcat[0]->name );   
}
而属于“vid”类别的帖子将作为vid进行回应。

我还尝试用类别ID替换“vid”。

我可以替换吗in_category() 还有其他东西来检查帖子是否属于“vid”类?

1 个回复
最合适的回答,由SO网友:Peter HvD 整理而成

您正在使用in_category() 在循环之外,因此需要将post ID作为第二个参数传入。

例如,if (in_category( \'vid\', $post->ID )) {

看见Codex.

结束

相关推荐

Media Library Categories

我使用以下内容将类别分配给我的WordPress媒体库(在functions.php):function wptp_add_categories_to_attachments() { register_taxonomy_for_object_type( \'category\', \'attachment\' ); } add_action( \'init\' , \'wptp_add_categories_to_attachments\' ); 每个媒体库项目都