postmeta在数组字段[0]中的Wp查询

时间:2017-10-30 21:19:32

标签: wordpress meta cmb2

我正在尝试按元值查询帖子类型,但数组中的值为[0]字段。

{{1}}

显然它没有显示任何帖子,任何想法?

1 个答案:

答案 0 :(得分:1)

当您将多个选定值存储为元值时,其值将以序列形式存储,如

a:2:{i:0;s:2:"53";i:1;s:2:"54";} // where 53 and 54 are 2 selected ids.

现在,如果你想获得选择id = 53的帖子,那么你需要在元查询中传递“compare”参数和“Like”。默认情况下,它将与“=”条件进行比较。

所以你的Wp_query应该如下:

$args = array('post_type'=>'event','meta_query' => array(
    array(
        'key' => 'my_post_multicheckbox', 
         // The right value should be my_post_multicheckbox[0] 
         // and it's serialized
        'value' => $current_post_ID, // this should not be serialise value.
        'type' => 'CHAR',
        'compare' => 'LIKE',
    )
));
$events = new WP_Query($args);

如果您想要通过多个ID获取帖子,而不是“赞”,则需要传递“IN”并且在值中,您需要传递要获取帖子的ID数组。