gpt4 book ai didi

wordpress - 按子字段值 ACF 的元查询帖子

转载 作者:行者123 更新时间:2023-12-02 15:19:27 24 4
gpt4 key购买 nike

我正在尝试查询子字段值为“audi”的帖子。我看了又看,但找不到答案。我的 $args 在下面,并且数据库中存在与“audi”匹配的帖子,作为中继器“cars”的子字段“model”的值。

$args = array(
'post_type' => 'manufacturers',
'meta_query' => array(
array(
'key' => 'cars_%_model',
'value' => 'audi',
'compare' => 'LIKE'
)
)
);
$query = new WP_Query($args);

如果能提供有关此代码在哪里出错的任何提示,我们将不胜感激。

最佳答案

我为此花了几个小时,并为您提供了解决方案:

您需要做的第一件事是设置一个过滤器,将“=”比较替换为“LIKE”比较(将其包含在您之前的代码之上):

function my_posts_where( $where ) {
$where = str_replace("meta_key = 'cars_", "meta_key LIKE 'cars_", $where);
// note if using wordpress < v4.8.3 add a % to the meta key like this: meta_key = 'cars_%",...
return $where;
}

add_filter('posts_where', 'my_posts_where');

现在您需要做的就是将您的 meta_query 比较更新为“=”:

$args = array(
'post_type' => 'manufacturers',
'meta_query' => array(
array(
'key' => 'cars_%_model',
'value' => 'audi',
'compare' => '='
)
)
);
$query = new WP_Query($args);

这包含在 ACF documentation 中但是文档没有提到 Wordpress 4.8.3 之后的更新 which is mentioned here .

关于wordpress - 按子字段值 ACF 的元查询帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38312487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com