WordPress增加文章排序方式
發(fā)布時(shí)間:2013-11-10 16:16:33 作者:佚名
我要評(píng)論

很多網(wǎng)站的文章列表頁面都可以查看排序方法,但是在wp系統(tǒng)中是沒有這個(gè)功能,下面我們來看看關(guān)于WordPress系統(tǒng)中增加選擇文章的排序方式的解決辦法
露兜博客首頁的訪客可自行選擇文章排序方式的效果是怎么做的,今天就來給大家分享這個(gè)文章排序效果的實(shí)現(xiàn)過程。
其實(shí)實(shí)現(xiàn)過程也比較簡單,一個(gè)是構(gòu)造鏈接,另外一個(gè)是使用query_posts來改變一下主循環(huán)就可以了。
構(gòu)造鏈接
鏈接主要用于傳遞GET參數(shù),讓PHP程序知道你到底想怎么排序。在主題的index.php中你需要的位置插入以下代碼,用于輸出排序按鈕的HTML,這個(gè)排序按鈕的樣式,你再自己寫寫css咯。需要注意的是以下代碼會(huì)自動(dòng)獲取當(dāng)前用戶已選擇的排序方式,并給這個(gè)排序按鈕的 li 添加了class="current"
復(fù)制代碼
代碼如下:<h4>文章排序</h4>
<ul>
<li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='rand') ) echo 'class="current"'; ?> href="/?order=rand" rel="nofollow">隨機(jī)閱讀</a></li>
<li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='commented') ) echo 'class="current"'; ?> href="/?order=commented" rel="nofollow">評(píng)論最多</a></li>
<li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='alpha') ) echo 'class="current"'; ?> href="/?order=alpha" rel="nofollow">標(biāo)題排序</a></li>
</ul>
改變主循環(huán)
首先你得先在主題的index.php中找到以下語句:
復(fù)制代碼
代碼如下:if (have_posts())
然后在這句之前添加以下代碼:
復(fù)制代碼
代碼如下:if ( isset($_GET['order']) )
{
switch ($_GET['order'])
{
case 'rand' : $orderby = 'rand'; break;
case 'commented' : $orderby = 'comment_count'; break;
case 'alpha' : $orderby = 'title'; break;
default : $orderby = 'title';
}</p> <p> global $wp_query;
$args= array('orderby' => $orderby, 'order' => 'DESC');</p> <p> $arms = array_merge($args, $wp_query->query);
query_posts($arms);
}</p> <p>if (have_posts())
好了,就這么簡單,復(fù)制粘貼,輕輕松松實(shí)現(xiàn)排序效果
相關(guān)文章
- 本文介紹了wordpress中自定義菜單制作詳細(xì)教程2013-11-10
- 本文章詳細(xì)的介紹了關(guān)于WordPress 防止惡意評(píng)論代碼處理辦法2013-11-10
- 要在 WordPress 中插入表格其實(shí)并非難事,只要用 wp-table 插件就能輕松做到,本文的重點(diǎn)是介紹免插件在 WordPress 中插入表格的方法,下面有個(gè)不錯(cuò)的示例感興趣的朋友可以2013-11-08
- wordpress建設(shè)網(wǎng)站:從買域名空間到安裝WP,遇到了一些問題,這里總結(jié)幾個(gè)步驟提供大家參考2013-11-06