wordpress $ query->由元键值设置

时间:2016-04-22 14:08:45

标签: wordpress

我正在尝试修改帖子类型的所有查询"产品"仅显示产品/帖子是否具有" wholesale_price"的某个meta_key。 meta_value需要大于0。

这就是我所拥有的:

{{1}}

}

出于某种原因,这仍然会返回一切。这是正确的做事方式吗?

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);
}

无需在此功能中返回任何内容。