Helo,我在自定义帖子中有多个meta_key值对。因此,为了解决这个问题,我最初运行了一个WP_QUERY,它创建了一个帖子ID数组,然后传递给加载更多内容以加载这些内容。
我使用WP_Query构建的数组的顺序是正确的。但是,当我在post_in参数中使用IDs时,它不会以给定的顺序显示它们。我也试着给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参数,它也不起作用。
请帮帮艾哈迈尔
发布于 2017-02-14 19:23:47
首先,您的短码中有一个错误。
[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
https://stackoverflow.com/questions/42223327
复制