【问题标题】:Wordpress ACF Relationships in custom posts自定义帖子中的 Wordpress ACF 关系
【发布时间】:2020-10-18 22:33:19
【问题描述】:

我有多种自定义帖子类型。食谱和配料。食谱页面包含选择成分的 ACF 关系字段。成分自定义帖子属于特定类别“蔬菜”、“肉类”......在成分存档页面上,我想列出包含当前类别成分的食谱。任何帮助或指示将不胜感激。

$args = array(
'post_type' => 'recipes',
'meta_query' => array(
    array(
        'key' => 'ingredient_name', // custom field name
        'value' => '"' . get_terms('ingredients_categories') . '"', // assuming that this is getting post's categories
        'compare' => 'LIKE'
    )
)

);

【问题讨论】:

    标签: php wordpress relationship advanced-custom-fields


    【解决方案1】:

    我也有同样的情况。我这样解决了这个问题

    例如,您有自定义字段成分_字段。该字段为多选,在数据库中如下所示:

    meta_key = ingredients_field_0 meta_value = '一些成分 id' meta_key = ingredients_field_1 meta_value = '另一种成分 id' ....

    所以,你需要找到这把钥匙。 例如,您可以像这样添加:

    $current_ingredient_id = get_queried_object()->term_id;
    
    for($counter = 10; $counter < 10; $counter++ ){
        $meta_query[] = array(
            'key'     => 'ingredients_field_' . $current_ingredient_id,
            'value'   => $item,
            'compare' => 'LIKE',
        );
    }
    
    $args = array(
    'post_type' => 'recipes',
    'meta_query' => $meta_query,
    )
    $the_query = new WP_Query( $args );
    

    PS:我知道这不是完美的解决方案,但它对我有用。

    PPS:我不确定 db 中的键是否像我为你写的那样构建。尝试在 wp_postmeta 表中找到像你这样的键

    【讨论】:

    • 您好丹尼尔,感谢您的回复。我是否理解正确,您建议的解决方案是“关系”字段中的多个条目?就我而言,我有一个单数条目,因为我在帖子上使用转发器来列出成分,因为我需要将详细信息附加到它们,例如“花椰菜”(成分帖子)和“100g”(细节)。如果食谱帖子将“花椰菜”作为其中的一个项目,那么这个想法是将食谱帖子拉到“蔬菜”成分分类页面上。 “花椰菜”是来自自定义帖子类型(成分)的帖子,类别为“蔬菜”。
    • 无论您如何保存此归档的转发器或关系。我想说的是,尝试在数据库中找到这个元文件(以了解它在数据库中的样子),然后构建你的元查询。
    • 嗨丹尼尔,出于某种原因,它会导致显示所有食谱。 ` '键' => 'field_5ee07090408b3' 。 $current_ingredient_id, `
    • 我认为,我的描述是不正确的,因为页面,这些食谱被拉上是成分分类页面。乳制品、肉类、鱼类……
    猜你喜欢
    • 1970-01-01
    • 2021-11-30
    • 2013-10-28
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 2020-03-07
    • 1970-01-01
    相关资源
    最近更新 更多