不是通常的WordPress'NOT EXISTS'元查询

时间:2014-12-17 15:43:52

标签: mysql wordpress woocommerce

如果特定帖子上根本没有元数据,我遇到了“不存在”元查询无法正常工作的问题。有点像...

add_filter('pre_get_posts' , 'my_pre_get_posts' );
function my_pre_get_posts($query) {
    $query->set('meta_query', array(
        'relation' => 'OR',
            array(
                'key' => 'mymetakey', 
                'value' => '', 
                'compare' => 'NOT EXISTS'
            ),
            array(
                'key' => 'mymetakey',
                'value' => '1', 
                'compare' => '!='
            ),
        )
    );
}

当帖子具有某些元数据时,这可以正常工作。任何其他元数据。由于'_edit_lock'元,只是点击编辑器修复了这个问题。然而,自动生成的woocommerce页面没有这个,开箱即用 - 这个查询不起作用。

据推测,这是表连接工作方式的特质。任何人都知道一个好的解决方法 - 除了在每个帖子中写一些虚拟元数据。

1 个答案:

答案 0 :(得分:0)

升级到WordPress 4.1后问题就消失了。我应该等待1天才能发布!