关于检查meta_key
针对一系列meta_values
, 但我想做相反的事。
我有一个网站,有项目和新闻评论。当客户添加审查时,他们有一个自定义字段(ACF)从列表中选择与之相关的项目。
我现在尝试在一个页面上显示与某个项目相关的所有新闻评论。我有项目ID,并使用带有$args的查询来选择我想要的新闻评论。
我的当前$args
:
$args = array(
\'post_type\' => \'pressreview\',
\'order\' => DESC,
\'meta_query\' => array(
array(
\'key\' => \'belongs_to_project\',
\'value\' => $projectID,
\'compare\' => \'LIKE\'
)
)
);
问题是,该自定义字段\'
belongs_to_project
\' 返回ID为的数组。一次新闻评论可以涉及多个项目,因此我让客户从该字段的列表中选择多个项目。典型阵列如下所示:
Array ( [0] => 210 [1] => 202 ).
我想做的是检查
$projectID
在该数组中。
在当前设置中,它可以正常工作:如果客户端从列表中选择202和210,并且$projectID
是210
, 显示新闻评论。但是,如果$projectID = 20
, 我们得到新闻界对项目的评论201
, 202
, 203
, 等等(因为这些数字包括\'20
\', 这就是为什么LIKE
工程)
我能告诉这个查询只检查“整数”吗?所以“2”只显示项目的评审2
, 而不是201
, 202
, 或者其他有2的数字?
我看到有一个REGEXP
选项使用,而不是LIKE
, 但我不知道如何使用它,它只检查“整数”。
我也试过了IN
\', 但这在这里根本不起作用。
我想到了一件事,但不知道是否有可能,那就是使用以下内容:
\'key\' => \'belongs_to_project[$i]\'
通过键值进行某种循环
$projectID
可通过检查
\'=\'
而不是
LIKE
针对自定义字段数组中的每个值。我不知道是否有这样的选择,也不知道应该如何写。
希望我的解释足够清楚,如果需要更好的解释,请告诉我。