高级自定义字段:查询按自定义字段值过滤的帖子

时间:2015-01-11 22:15:29

标签: wordpress custom-post-type advanced-custom-fields

我正在尝试根据子自定义字段值查询我的CPT帖子,如示例5所示 this tutorial

我的CPT(名为“trip”)有一个名为“departure_date”的转发器字段,它有一个名为“departure_day”的子字段:

function my_posts_where( $where ) {
    $where = str_replace("meta_key = 'departure_date'", "meta_key LIKE 'departure_date'", $where);
    return $where;
}
add_filter('posts_where', 'my_posts_where');
$args = array(
    'numberposts' => -1,
    'post_type' => 'trip',
    'meta_query' => array(
        array(
            'key' => 'departure_day',
            'value' => 0,
            'compare' => '>'
        )
    )
);
$get_trips_date = new WP_Query( $args );
if( $get_trips_date->have_posts() ):
    while ( $get_trips_date->have_posts() ) : $get_trips_date->the_post();
        if( get_field('departure_date') ) {
            while( has_sub_field('departure_day') ) { 
                echo get_sub_field('departure_day');
            }
        }
    endwhile;
endif; 
wp_reset_query();

虽然为所有帖子填充了子字段“departure_day”,但此代码不返回任何内容。为什么呢?

1 个答案:

答案 0 :(得分:0)

你的$ args应该是这样的

  

`

$args = array(
    'numberposts' => -1,
    'post_type' => 'trip',
    'meta_query' => array(
        array(
            'key' => 'departure_date_%_departure_day',
            'value' => 0,
            'compare' => '>'
        )
    )
);

`