根据Custom Field Parameters 在法典中,特殊NOT EXISTS
自WP版本3.5起提供比较
从技术上讲,它在POST请求中生成类似以下SQL查询的内容:
$posts = get_posts( array(
\'meta_query\' => array(
array(
\'key\' => \'wrong\',
\'compare\' => \'NOT EXISTS\',
),
),
) );
SELECT *,wp_posts.ID
FROM wp_posts
LEFT JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = \'wrong\')
WHERE 1=1 AND wp_posts.post_type = \'post\' AND (wp_posts.post_status = \'publish\') AND (wp_postmeta.post_id IS NULL)
GROUP BY wp_posts.ID
ORDER BY wp_posts.post_date DESC
LIMIT 0, 5
它的工作原理是在提供的键上连接元表,并且只选择那个些并没有产生有意义数据的记录(
IS NULL
). 因此,它只适用于键根本不存在的情况,并且不适用于存在值为falsy的键。