为什么返回的第一个类别会被回显两次?

时间:2016-08-18 作者:MikeR

我有一个叫做菜单项的类别(类别id 19)和两个子类别墨西哥玉米饼和汉堡。为什么玉米饼会被重复两次?我买了玉米饼,玉米饼汉堡。

while (have_posts()) : the_post(); 
    foreach((get_the_category()) as $childcat) {
        if (cat_is_ancestor_of(19, $childcat)) {
            echo $childcat->cat_name;
        } 
    }
endwhile;

1 个回复
SO网友:bynicolas

因为你在回应$childcat->cat_name 每次post通过验证时。

记住,你在循环中,对于每一篇符合你条件的帖子,你都在回响。您似乎想要打印一个类别列表,这些类别是19 但我不明白你为什么要检查每一篇帖子来做到这一点。

我会给你一个解决方案,但我不确定你要做什么,如果你分享你想要实现的目标,我会更新我的答案