在 Wordpress 中,您不能在循环之外使用“in_category”,因此我创建了一个函数,该函数为我提供了我的文章所在的所有类别,并从中创建了一个“is_category”if 语句。
我把我的函数放在我的“functions.php”中:
function inCatAlt($catID){
$allCats = get_categories('child_of='.$catID);
$childCats = 'is_category('.$catID.') ';
foreach($allCats as $childCat){
$childCats.= 'or is_category('.$childCat->cat_ID.') ';
};
$allchildCats = trim(trim($childCats, 'or '));
return $allchildCats;
}
并在我的侧边栏中调用它,单等等:
echo inCatAlt(13);
这给了我一个字符串:
"is_category(13) or is_category(16) or is_category(15)"
这正是我所需要的,但现在我想评估字符串以在 if 函数中使用它,如下所示:
if(eval(inCatAlt(13))){
do something
}
但它不起作用。我评估它是错误的还是有什么问题?如果我将输出复制粘贴到 if 函数中,它可以正常工作......