【问题标题】:ACF Field Type Post Object to only show only top level parent pages from a Custom Post TypeACF 字段类型帖子对象仅显示来自自定义帖子类型的顶级父页面
【发布时间】:2019-08-23 03:49:24
【问题描述】:

我正在尝试使用高级自定义字段帖子对象字段仅显示自定义帖子类型的父页面。然后我使用高级表单在前端显示表单。问题是我似乎无法弄清楚如何仅显示自定义帖子类型的父页面。

目前,它在前端输出所有帖子、页面和自定义帖子类型页面: !https://i.ibb.co/tXkxFdY/Screen-Shot-2019-04-01-at-2-50-25-PM.png

作为参考,下面是我在 ACF Pro 插件中设置 Post Object 的方式: !https://i.ibb.co/Z6W3cjF/Screen-Shot-2019-04-01-at-2-44-24-PM.png

我尝试使用以下 ACF Post Object 查询: https://www.advancedcustomfields.com/resources/acf-fields-post_object-query/

使用 ACF 页面“acf/fields/post_object/query” https://www.advancedcustomfields.com/resources/acf-fields-post_object-query/

我尝试使用以下方法:

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

    $args = array(
        'post_parent' => $post_id, // updated to use the current $post_id
        'post_type'   => 'mediakit', 
        'numberposts' => -1,
        'post_status' => 'published' 
    );

    return;

}

// filter for every field
add_filter('acf/fields/relationship/query/key=field_5ca24f099f985', 'my_relationship_query', 10, 3);

我希望前端的结果会在前端显示仅显示自定义帖子类型的父页面的选择。

实际结果是显示所有帖子、页面和自定义帖子类型中的所有页面。

对于这个问题的任何帮助将不胜感激。

【问题讨论】:

    标签: wordpress advanced-custom-fields


    【解决方案1】:

    事实证明,我可以使用 ACF 查询过滤器来显示自定义帖子类型的父页面。当我去字段选择我的帖子类型时,父母只显示在帖子对象下拉列表中。

    使用此 ACF 官方指南: https://www.advancedcustomfields.com/resources/acf-fields-post_object-query/

    
    add_filter('acf/fields/post_object/query/key=field_0000000000000', 'change_posts_order', 10, 3);
    function change_posts_order( $args, $field, $post ) {
    
        $args['post_parent'] = 0;
        $args['sort_order'] = 'ASC';
        $args['orderby'] = 'title';
        $args['order'] = 'ASC';
        $args['post_status'] = 'publish';
    
        return $args;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-20
      • 1970-01-01
      相关资源
      最近更新 更多