如何列出特定自定义字段为空的帖子?
我有一些带有自定义字段“author”的帖子,有些帖子的自定义字段是emty,所以我想找到这些帖子来删除自定义字段。
<?php
$args=array(
\'post_type\' => \'post\', // Post type is post.
\'post_status\' => \'publish\', // Post is published.
\'meta_key\' => \'author\',
\'value\' => \'\',
\'meta_compare\' => \'=\',
\'posts_per_page\' => 100, // Posts per page.
\'caller_get_posts\'=> 100 // Get posts per page
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<?php // my code; ?>
<?php
endwhile;
}
?>
最合适的回答,由SO网友:Pieter Goosen 整理而成
你可能需要NOT EXISTS
meta_compare
价值这将测试该特定键是否存在元值。
此外,正如我在评论中指出的,caller_get_posts
是长期不推荐的,如果你打开了去毛刺,你应该清楚地收到一个通知。正确的参数为ignore_sticky_posts
并接受0
(false
)或1
(true
)
编辑我错过的一个问题是,value
应该是meta_value
不使用适当的meta_query