我已经花了好几个小时来通过DESC而不是ASC订购这个Wordpress循环,我做错了什么?
function list_articles($query_arg){
$articles_list = new WP_Query( $query_arg );
if ( $articles_list->have_posts() ) :
echo '<ul class="articles">';
while ( $articles_list->have_posts() ) :
$articles_list->the_post(array('order' => 'DESC'));
get_template_part("template-parts/article-for-widget");
endwhile;
echo '</ul>';
else :
?>
<p><?php _e('No Articles Found!', 'framework'); ?></p>
<?php
endif;
}
答案 0 :(得分:3)
尝试这样的事情:
$query = new WP_Query( array ( 'orderby' => 'title', 'order' => 'DESC' ) );
答案 1 :(得分:1)
DESC
当然是SQL查询字。在您的代码中,您尝试(失败)传递DESC.
时已经发出了相关查询。因此,即使the_post()
接受参数,它也无法工作。
http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters
在WordPress向MySQL发出查询之前,您需要说DESC
。
我相信这是怎么做的。但是你需要调试它,因为$ query_arg的格式有点不可预测。
$query_arg['order'] = 'DESC';
$articles_list = new WP_Query( $query_arg );
if ( $articles_list->have_posts() ) :
etc etc etc