在wordpress cms中,我需要主要根据meta_value_num显示帖子,然后按日期顺序显示。我的查询参数是根据this solution设置的。但这些帖子似乎忽略了这两个命令。这是我正在使用的代码。
function change_order($order,$qry) {
remove_filter('posts_orderby','alter_order', 1, 2);
$order = explode(',',$order);
$order = implode( ' ASC,',$order);
return $order;
}
add_filter('posts_orderby','change_order', 1, 2);
$q = new WP_Query();
$q->query( array(
'post_type' => 'post',
'meta_key' => 'colleges_intown',
'orderby' => 'meta_value_num date',
'order' => 'ASC',
'posts_per_page' => -1,
'post_status' => 'publish',
));
while ( $q->have_posts() ) : $q->the_post(); ?>
<h2><?php the_title(); echo ' - '.get_the_time('d-m-Y', $q->post->ID);
echo ' - '.get_post_meta($q->post->ID, 'colleges_intown', true) ;
?>
</h2>
<?php endwhile; ?>
<?php wp_reset_postdata();
解决方案中给出的代码看起来非常可靠,所以我在循环中犯了错误,有人可以指出什么?这是结果的样子。完全忽略自定义元数字顺序以及日期。
Cochin - 22-04-2014 - 2
Bangalore - 28-04-2014 - 56
New Delhi - 22-04-2014 - 0
Kolkatta - 31-05-2014 - 1
Chennai - 25-04-2014 - 44
Hyderabad - 31-05-2014 - 88