我有两种自定义帖子类型,分别称为“产品”和“参考”。在“references”上,我附加了一个名为“product\\u reference”的自定义分类法,用于指定引用与哪些产品相关。在“产品”自定义帖子上,我附加了一个名为“模块相关引用”的自定义模块,用于获取与产品相关的引用帖子。
总体而言,这听起来可能有点混乱,因此我提供了一张简化的图片来概述设置。
我需要做的是将三个相关的“参考”帖子收集到“相关参考”模块中(很可能是WP\\U查询tax_query
过滤器参数),但我还不能以预期的方式实现这一点。
使用筛选WP_Query
如果我填写tax_query
手动输入术语,如下面的代码段(product\\u category 1、2和3):
$the_query = new WP_Query(array(
\'post_type\' => \'reference\',
\'post_status\' => \'publish\',
\'post__not_in\' => array( get_the_ID() ),
\'orderby\' => \'date\',
\'order\' => \'DESC\',
\'posts_per_page\' => 3,
\'tax_query\' => array(
array(
\'taxonomy\' => \'product_reference\',
\'field\' => \'slug\',
\'terms\' => array(
\'product_category1\',
\'product_category2\',
\'product_category3\'
),
\'hide_empty\' => true,
\'include_children\' => true,
\'operator\' => \'IN\'
),
)
));
然而,我需要通过将所有相关引用中的“product\\u reference”术语作为一个数组来动态工作。相关参考模块和参考模板位于不同的文件中。
我试过使用get_the_terms
wp函数,但它无法从引用中收集信息,并返回“bool(false)”。
var_dump(get_the_terms(get_the_ID(), \'product_reference\'));
wp_get_object_terms
或
wp_get_post_terms
似乎也没有做到这一点,两者都只是返回了数组(0){}。
因此,我的问题是:通过使用“product\\u reference”术语进行过滤来获取相关参考帖子的正确方法是什么?
我也对完全不同的方法持开放态度,但在这一点上,如果可能的话,我真的不希望重建整个结构。
谢谢你的帮助!