首頁 >CMS教程 >&#&按 >WordPress怎麼增加文章排序方式

WordPress怎麼增加文章排序方式

藏色散人
藏色散人原創
2019-12-28 09:56:572989瀏覽

WordPress怎麼增加文章排序方式

WordPress怎麼增加文章排序方式?

很多網站的文章列表頁面都可以查看排序方法,但是在wp系統中是沒有這個功能,下面我們來看看關於WordPress系統中增加選擇文章的排序方式的解決方案

  推薦:《wordpress教學

#露兜部落格首頁的訪客可自行選擇文章排序方式的效果是怎麼做的,今天就來跟大家分享這個文章排序效果的實現過程。

其實實現過程也比較簡單,一個是建構鏈接,另外一個是用query_posts來改變一下主循環就可以了。

建構連結

連結主要用來傳遞GET參數,讓PHP程式知道你到底想怎麼排序。在主題的index.php中你需要的位置插入以下程式碼,用於輸出排序按鈕的HTML,這個排序按鈕的樣式,你再自己寫寫css咯。要注意的是以下程式碼會自動取得目前使用者已選擇的排序方式,並為這個排序按鈕的li 新增了class="current"

程式碼如下:

<h4>文章排序</h4>
<ul>
<li><a <?php if ( isset($_GET[&#39;order&#39;]) && ($_GET[&#39;order&#39;]==&#39;rand&#39;) ) echo &#39;class="current"&#39;; ?> href="/?order=rand" rel="nofollow">随机阅读</a></li>
<li><a <?php if ( isset($_GET[&#39;order&#39;]) && ($_GET[&#39;order&#39;]==&#39;commented&#39;) ) echo &#39;class="current"&#39;; ?> href="/?order=commented" rel="nofollow">评论最多</a></li>
<li><a <?php if ( isset($_GET[&#39;order&#39;]) && ($_GET[&#39;order&#39;]==&#39;alpha&#39;) ) echo &#39;class="current"&#39;; ?> href="/?order=alpha" rel="nofollow">标题排序</a></li>
</ul>

改變主循環

首先你得先在主題的index.php中找到以下語句:

程式碼如下:

if (have_posts())

然後在這句話之前加入以下程式碼:

程式碼如下:

if ( isset($_GET[&#39;order&#39;]) )
{
switch ($_GET[&#39;order&#39;])
{
case &#39;rand&#39; : $orderby = &#39;rand&#39;; break;
case &#39;commented&#39; : $orderby = &#39;comment_count&#39;; break;
case &#39;alpha&#39; : $orderby = &#39;title&#39;; break;
default : $orderby = &#39;title&#39;;
}</p> <p> global $wp_query;
$args= array(&#39;orderby&#39; => $orderby, &#39;order&#39; => &#39;DESC&#39;);</p> <p> $arms = array_merge($args, $wp_query->query);
query_posts($arms);
}</p> <p>if (have_posts())

好了,就這麼簡單,複製貼上,輕輕鬆松實現排序效果

以上是WordPress怎麼增加文章排序方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn