尝试过滤ACF帖子对象以仅显示某些页面

时间:2017-01-23 14:24:12

标签: php wordpress advanced-custom-fields

我正在尝试过滤帖子对象字段中列出的页面,以仅显示数组中的页面。

我设法使用关系字段让它工作。但是,我需要进行反向查询,需要使用post对象字段。

这是用于关系字段查询过滤器的代码

function my_relationship_query( $args, $field, $post )
{
// increase the posts per page
$args['post__in'] = array(32,14); //works!
return $args;
}

// filter for a specific field based on it's name
add_filter('acf/fields/relationship/query/name=where_used','my_relationship_query', 10, 3);

以下是我尝试用于post对象查询的代码,无论我做什么或更改它都不会更改下拉列表中的结果(所有页面始终列在下拉列表中)。

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

// only show children of the current post being edited
$args['post__in'] = array(32,14);;


// return
return $args;

}


// filter for a specific field based on it's name
add_filter('acf/fields/post_object/query/name=where_used', 'my_post_object_query', 10, 3);

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

function my_relationship_query( $args, $field, $post ) {
    // only show children of the current post being edited
    $args['post_parent'] = $post->ID;
    return $args;
}

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