我正在处理的主题有一个自定义的帖子类型“公文包”,在自定义的分类法“portfoliocat”(帖子类型和分类法定义)中here). 它工作正常:在备份菜单中,我可以看到“公文包”选项,从中我可以创建此自定义类型的帖子,或对这些帖子进行分组的类别。
我试图制作一个自定义小部件,列出“portfoliocat”分类法中的所有类别,以及每个类别下的所有帖子。类似于:
= Portfoliocat
=== Category 1
===== Post 1_1
===== Post 1_2
=== Category 2
===== Post 2_1
===== Post 2_2
相反,我得到的是:
= Portfoliocat
=== Category 1
===== Post 1_1
===== Post 1_2
===== Post 2_1
===== Post 2_2
=== Category 2
===== Post 1_1
===== Post 1_2
===== Post 2_1
===== Post 2_2
也就是说,对于每个类别,我都会得到属于该分类法的所有帖子,无论它们属于哪个类别(而不是那些属于该分类法,也属于该类别的帖子)。密码
here.
我认为问题出在第36行,在定义“$类别”时。无论我给“category”键指定了什么值,或者如果我完全删除它,我仍然可以获得分类法中的所有帖子。
我也试着用“term”代替“category”,得到了同样的结果。
我真的很感谢在这个问题上提供一些帮助。
最合适的回答,由SO网友:NateWr 整理而成
由于您使用的是自定义分类法,因此不能使用category
论点您可以在中找到有关自定义分类法检索的一些信息this comment in the developer documentation.
根据这一点,我认为$categoryArgs
应为:
$categoryArgs = array(
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'post_type\' => $type,
\'tax_query\' => array(
array(
\'taxonomy\' => $tax,
\'field\' => \'slug\',
\'terms\' => $myPostTax->slug,
)
),
);