在 wp_query 中按 post_meta 排序 wordpress 不工作

Order by post_meta in wp_query wordpress not working

我想在 wordpress 中按价格订购 posts,我尝试了很多,也关注文档,一切看起来都不错,但仍然无法正常工作..

这是代码....

                        global $wp_query;
                        $query_vars = $wp_query->query_vars;
                        $post_per_page = 12;
                        global $term;
                        $term = (strip_tags($_GET['term']));
                        if (!empty($_GET['term'])) {
                            add_filter('posts_where', 'taskerdev_posts_where');
                        }

                        $meta_query = array();
                        $closed = array(
                            'key' => 'closed',
                            'value' => "0",
                            'compare' => '='
                        );
                        $meta_query[] = $closed;

                        if (!empty($_GET['tasker_cat_cat']))
                            $tasker_cat = array(
                                'taxonomy' => 'tasker_cat',
                                'field' => 'slug',
                                'terms' => $_GET['tasker_cat_cat']);

                        $meta_query[] = $tasker_cat;

                        $price = array(
                                'meta_key' => 'price',
                                'orderby' => 'meta_value_num',
                                'order' => 'ASC'  
                            );
                        $meta_query[] = $price;
                        $args = array('post_type' => 'shoping',  'posts_per_page' => 10,
                            'paged' => $query_vars['paged'], 'meta_query' => $meta_query);

此代码看起来不错,但我无法按 post_meta 中的价格获得 post 订单。 即使在 wp_query.

的文档中,我也可以看到这段代码对结果进行排序
                                $price = array(
                                'meta_key' => 'price',
                                'orderby' => 'meta_value_num',
                                'order' => 'ASC'  
                            );
                        $meta_query[] = $price;

您确定元字段价格是数字吗?

'orderby' => 'meta_value_num',

仅适用于数字字段。值是否为数字取决于您字段中保存的价格格式。

也许 post 一个示例值,以便人们看到真正的值是什么