我试图突出显示与当前类别页面属于同一类别的列表项。
例如,我有一个名为“食物”的类别,其子类别为:“早餐”、“午餐”和“晚餐”。如果导航到子类别“午餐”(在调用所有帖子的循环中,无论类别如何),我希望突出显示与午餐相关的所有列表项。
首先,我使用get_category
和->term_id
定义当前所在类别的ID。其次,在循环中,我使用get_the_category
和[0]->cat_ID
检索每个列表项的ID(但仅检索数组中的第一个)。最后,我使用in_array
查看两个参数之间是否匹配,如果匹配,则返回一个值。
我的问题在于$categories[0]->cat_ID
. 如果列表项与多个类别关联,则仅检索数组中的第一个类别是不好的。
如何创建一个参数来输出与循环中列表项关联的所有类别ID?
<?php
$thisTrueCat = get_category( get_query_var( \'cat\' ) );
?>
<!-- loop start -->
<?php
$categories = get_the_category();
$categories_id = $categories[0]->cat_ID;
?>
<?php if( in_array( $thisTrueCat->term_id, array($categories_id) ) ) { echo \'cat-hi\'; }?>