Wordpress AJAX通过Meta_VALUE_NUM加载更多订单

时间:2017-02-14 10:13:12

标签: php ajax wordpress

直升机, 我的自定义帖子中有多个meta_key值对。因此,为了解决这个问题,我最初运行了一个WP_QUERY,它创建了一个帖子ID数组,然后我将其传递给加载更多以加载它们。

我使用WP_Query构建的数组的顺序正确。但是,当我在post_in参数中使用ID时,它不会按给定的顺序显示它们。我也试过给orderby="meta_value_num"参数,但它也不起作用。

这是完美的WP_QUERY

$loop = new WP_Query( 
                                array( 
                                      'post_type' => 'properties', 
                                      'posts_per_page' => -1,
                                        'meta_query' => array(
                                                array(
                                                    'key' => 'listing_type',
                                                    'value'   => array(3,2),
                                                    'type'   => 'NUMERIC',
                                                ),
                                                array(
                                                    'key'     => 'payment_status',
                                                    'value'   => 'yes',

                                                        ),                                              
                                                array(
                                                    'key'     => 'expired',
                                                    'value'   => 'no',



 - ),

                        ),
                                        'orderby' => 'meta_value_num',
                                        'meta_key' => 'listing_type',
                                        'order' => 'DESC' 
                                      )); 

这是短代码:

[ajax_load_more post_type="properties" post__in="'.implode(',',$featured).'" posts_per_page="10" scroll="false" transition="fade" button_label="'.$l_more.'" button_loading_label="'.$l_more_2.'" container_type="ul" css_classes="items",orderby="meta_value_num" meta_key="listing_type"]

然而它并没有按照它应该订购帖子,因为$ featured数组按要求的顺序排列。即使我删除了order by和meta_key参数,它也不起作用。

请帮助 艾哈迈尔

1 个答案:

答案 0 :(得分:1)

首先,您的短代码中有错误。

[ajax_load_more post_type="properties" post__in="'.implode(',',$featured).'" posts_per_page="10" scroll="false" transition="fade" button_label="'.$l_more.'" button_loading_label="'.$l_more_2.'" container_type="ul" css_classes="items" orderby="meta_value_num" meta_key="listing_type"]

其次,您应orderby="post__in"保留post__in顺序。 https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters