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