in_category()
接受要检查的类别数组。因此,如果您可以获得要检查的父类别的所有子类别的列表,您可以使用该列表查看您的帖子是否在其中任何一个类别中。
您可以使用get_categories()
并指定parent
. 这将获得作为给定类别直接子级的所有类别。如果您还指定fields
像ids
你可以拿到他们的身份证,这对你来说会更好in_category()
:
<?php
$categories = get_categories( array(
\'parent\' => 123,
\'fields\' => \'ids\',
) );
if ( in_category( $categories ) ) : ?>
// Content here
<?php endif; ?>
如果您只有父类别的slug,则需要使用
get_term_by()
要获取用作父参数的ID,请执行以下操作:
<?php
$parent = get_term_by( \'slug\', \'category-slug\', \'category\' );
$categories = get_categories( array(
\'parent\' => $parent->term_id,
\'fields\' => \'ids\',
) );
if ( in_category( $categories ) ) : ?>
// Content here
<?php endif; ?>