在已有数据的程序中新加一个meta key设置项后会导致前端筛选器找不到结果的情况。主要是因为指定的文章没有meta key,会导致meta key相关的数据库查询没有匹配项目。
那么可以为每篇文章设置一个meta key,并设置一个空值。至少让查询操作正常进行。之后再设置每篇文章新加的这个meta key。
使用方法是将下面的代码嵌入到主题的functions.php文件中,再刷新前台页面。

function update_my_metadata(){
$args = array(
'post_type' => 'project',
'post_status' => 'publish',
'posts_per_page'   => -1
);
$posts = get_posts($args);
foreach ( $posts as $post ) {
update_post_meta( $post->ID, '_project_sales', '' );
}
}
add_action('init','update_my_metadata');

需要注意的是:操作成功后,要移除该代码。否则,不仅会造成系统资源浪费,更重要的是无法设置这meta key的值,因为每次刷新页面,该meta key都会被刷新为空值。