我有“项目”(一种自定义帖子类型),有许多自定义字段(通过ACF创建),其中一个字段将项目与“艺术家”(一种自定义分类法)相关联。
最后,我有一些“产品”,它们也使用自定义分类法“艺术家”。
在产品页面上,我想获取与同一位艺术家相关的最新“项目”。
下面是我认为应该可以工作的代码,但它返回一个空数组(它应该返回三个项目)。
$projects = get_posts(array(
\'post_type\' => \'project\',
\'meta_query\' => array(
array(
\'key\' => \'artist\', // name of custom field
\'value\' => \'"\' . $artist->term_id . \'"\',
\'compare\' => \'LIKE\'
)
)
));
我仔细检查了$artist->term\\u id是否返回了正确的值:它确实返回了。
最合适的回答,由SO网友:CodeMascot 整理而成
您正在对序列化数据进行元查询。我是说artist
从…起\'key\' => \'artist\'
已序列化。这就是为什么你的元查询不起作用。这是我可能的解决方案-
$projects = get_posts(array(
\'post_type\' => \'project\',
\'meta_query\' => array(
array(
\'key\' => \'artist\', // name of custom field
\'value\' => \'"%\' . $artist->term_id . \'%"\',
\'compare\' => \'LIKE\'
)
)
));
用这个通配符
%
在您的
$artist->term_id
我想会有用的。