折騰wordpress的朋友一定都知道wordpress的文章列表頁的文章排序默認都是按照文章發(fā)布日期從新到舊來排列,而對于某些自定義要求很高的網(wǎng)站是不夠的,,那么我們可以通過query_posts這個函數(shù)來控制wordpress的文章排序,。
首先我們要了解你需要修改哪個頁面的文章排序,,比如說你需要控制首頁的文章排序,那么就找到index.php,,如果需要修改標簽頁就找到tag.php,,如果需要修改分類頁面就找到category.php,而修改歸檔頁面則是找到archive.php,。
確認了你所需修改的頁面后,,我們就可以開始做修改了,,比如說你想讓首頁的文章按評論數(shù)量來排序,那么你就應該這樣修改,,打開index.php找到類似于if (have_posts())這類的wordpress主循環(huán),,將其修改成以下代碼:
<?php// query_posts函數(shù)query_posts('orderby=comment_count'); //以評論最多到最少的排序方式//主循環(huán)if ( have_posts() ) : while ( have_posts() ) : the_post();?>
查找
<?php endwhile; ?>
修改成
<?php endwhile; else: ?>
然后查找
<?php endif; ?>
修改成
<?phpendif;// 重置querywp_reset_query()?>
此時首頁的文章就已經(jīng)是按照文章的評論數(shù)量來排序的了,但是此時可能會導致首頁無法分頁,,那你可以將query_posts函數(shù)改成這樣的:
<?php$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;//控制分頁$args = array(// 這里以下面的方式添加query_posts參數(shù),,具體參數(shù)可以參加官方文檔'orderby' => comment_count,'paged' => $paged);query_posts($args);//主循環(huán)if ( have_posts() ) : while ( have_posts() ) : the_post();?>
至此wordpress就可以完美的按照評論的多少來進行排序了,如果需要其他排序方法可以參考官方文檔進行修改,。