WP_Query按自定义元值排序,然后按修改顺序排序

时间:2017-02-21 13:17:18

标签: php wordpress

我试图订购包含wp_query ...的meta_query 经过一些不同的方法后,似乎无法对查询进行排序,因为我包含meta_query,默认情况下使用orderby => ID(我认为)并且无法覆盖查询。关于如何实现这一点的任何想法?
这是我用来按元值显示帖子的PHP代码:

$paged = get_query_var('paged') ? get_query_var('paged') : (get_query_var('page') ? get_query_var('page') : 1);
$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'paged' => $paged,
    'meta_query' => array(
        array(
            'key' => 'subtitrare',
            'value' => 'romana',
            'compare' => 'LIKE'
        )
    )
);

$listing_query = null;
$listing_query = new WP_Query($args);
if ($listing_query->have_posts()) : get_template_part('loop-item');
endif;
wp_reset_postdata();

如您所见,我也对结果进行了分页,因此我可以使用相同的$args。我尝试使用自定义功能重新排列结果,但它对我没有用。

1 个答案:

答案 0 :(得分:0)

$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'paged' => $paged,
    'orderby' => 'modified',
    'order' => 'DESC',
    'meta_query' => array(
        array(
            'key' => 'subtitrare',
            'value' => 'romana',
            'compare' => 'LIKE'
        )
    )
);

这是你需要的代码,但你已经说过你试过了。这将返回自定义字段值设置为LIKE'romana'的所有帖子。使用此代码可获得哪些结果?