Wordpress meta_query键数组

Cip*_*pes 5 wordpress

我使用:http://www.farinspace.com/how-to-create-custom-wordpress-meta-box/函数来创建一些自定义元框.

我的WP_Query看起来像这样:

            $args = array(
                'post_type' => 'testimonials',
                'post_status' => 'publish',
                'orderby' => checked((bool) $instance['testimonials_random'], true, false) ? 'rand' : 'id',
                'posts_per_page' => $testimonials_number,
                'paged' => get_query_var('page'),
                'meta_query' => array(
                    array(
                        'key' => '_my_meta["addtosidebar"]',
                        'value' => 'on',
                        'compare' => 'LIKE'
                    )
                )
            );
            $query = new WP_Query($args);
Run Code Online (Sandbox Code Playgroud)

输入复选框addtosidebar如下所示: <input type="checkbox" name="_my_meta[addtosidebar]" <?php checked((bool) $meta['addtosidebar'], true); ?> class="checkbox" />

您是否知道如何访问meta_query中的密钥?

谢谢,Cip

Ric*_*d M 5

我认为您不能这样做,因为在教程中,您链接到元值存储在一个数组中,然后将其序列化为单个数据库字段。所以你最终会在数据库中得到这样的东西:a:4:{s:12:"addtosidebar";s:2:"on";s:3:"foo";s:3:"bar";}.

以下元查询可能有效,但最好使用单独的自定义字段。

'meta_query' => array(
  array(
    'key' => '_my_meta',
    'value' => 's:12:"addtosidebar";s:2:"on";',
    'compare' => 'LIKE'
  )
)
Run Code Online (Sandbox Code Playgroud)