2017-02-14 91 views
0

Helo, 我的自定義文章中有多個meta_key值對。所以要解決這個問題,我所做的就是我首先運行了一個WP_QUERY,它創建了一個post ID的數組,然後通過加載更多來加載這些ID。Wordpress AJAX加載更多Order by Meta_VALUE_NUM

我使用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"] 

但是它不爲了帖子,因爲它應該因爲$特色陣列具有它要求的順序。即使我通過和meta_key參數刪除命令它不起作用。

請幫助 艾哈邁爾

+1

如果您回顯$循環,查詢會說什麼? –

+1

_「但是它沒有按照它的順序排列帖子,因爲$ featured數組按它的順序排列。」 - 它「應該」這樣做,只是你的假設。通過id選擇帖子本身並不能保證任何順序。 – CBroe

+0

@WouterNeuteboom查詢按預期完美工作,並以正確的順序返回ID。然而,它的阿賈克斯加載更多,不是正確排序數據 –

回答

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

+0

非常感謝你@達倫 –