gpt4 book ai didi

php - 将过滤器添加到 af 关系字段

转载 作者:行者123 更新时间:2023-12-04 15:39:17 26 4
gpt4 key购买 nike

我正在使用 wordpress 4.9.7我正在使用 advanced custom fields 4.4.12 .

在我的后端,我有一个名为 coins 的帖子类型,其中有一个名为 related_coins 的关系字段和一个名为 algorithm 的文本字段.基本上我的关系字段创建与自定义帖子类型的关系 products .所以产品可以和几个币有关系。

我目前只能按帖子类型过滤。但是,我想按自定义字段过滤 algorithm帖子类型 coin .

enter image description here

我尝试了以下方法:

function graphic_card_products_query( $args, $field, $post_id ) {

$args['meta_query'] = array(
array(
'key' => 'algorithm', // name of custom field
'value' => 'related_coins',
'compare' => 'LIKE'
)
)

// return
return $args;

}

// filter for every field
add_filter('acf/fields/relationship/query/name=related_coins', 'graphic_card_products_query', 10, 3);

基本上,我试图获取自定义字段 algorithm 的所有值的列表。将其作为过滤选项传递回关系字段 related_coin .

目前我没有得到任何返回。

任何建议我做错了什么?

最佳答案

我已经使用您的代码作为基础对此进行了测试,我可以确认它对我有用。我会详细说明我做了什么。

首先,您可能已经发现了它,但是您在 meta_query 后面缺少了一个分号。 .所以我解决了这个问题。

$args['meta_query'] = array(
array(
'key' => 'algorithm', // name of custom field
'value' => 'related_coins',
'compare' => 'LIKE'
)
); // <-- this one!

接下来,我确保我正在过滤的字段确实是“关系”字段,而不是任何其他“关系”字段类型(例如,发布对象、链接、分类法)。他们有自己的过滤器 (ACF Reference: Filters)

最后,我确认了 meta_query 是正确的,也是我所期待的。因此,您的 meta_query 正在寻找具有自定义字段“算法”且值为 'related_coins' 的产品。 . (这可能是正确的,但请确保您想要的值是 'related_coins',因为这听起来更像是一个键,而不是一个值)。然后,您将使用 LIKE 运算符,它将值与值中包含的“related_coins”相匹配。例如,它将匹配 '123_related_coins''related_coins_123' ,以及'related_coins'。

正如我所说,这可能是你想要的,但只要明白这就是元查询的意思。

希望这可以帮助!

关于php - 将过滤器添加到 af 关系字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51211229/

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