我正在尝试修改帖子类型的所有查询"产品"仅显示产品/帖子是否具有" wholesale_price"的某个meta_key。 meta_value需要大于0。
这就是我所拥有的:
{{1}}
}
出于某种原因,这仍然会返回一切。这是正确的做事方式吗?
答案 0 :(得分:1)
问题是您设置meta_query
的方法。您应该阅读WP_Query功能,因为遗憾的是,元查询并不那么简单。
你需要做更多的事情:
add_action( 'pre_get_posts', 'rc_modify_query_get_design_projects' );
function rc_modify_query_get_design_projects( $query ) {
// Do not add meta arguments in admin pages
if (is_admin()) {
return;
}
if($query->is_main_query() && $query->query_vars['post_type'] == 'product' ) {
//Get original meta query
$meta_query = (array)$query->get('meta_query');
// Add your criteria
$meta_query[] = array(
'key' => 'wholesale_price',
'value' => 0,
'compare' => '>',
);
// Set the meta query to the complete, altered query
$query->set('meta_query',$meta_query);
}
无需在此功能中返回任何内容。