Home >CMS Tutorial >WordPress >How to increase post sorting in WordPress

How to increase post sorting in WordPress

藏色散人
藏色散人Original
2019-12-28 09:56:573002browse

How to increase post sorting in WordPress

#How to increase article sorting in WordPress?

You can view the sorting method on the article list pages of many websites, but this function is not available in the wp system. Let’s take a look at the solution to increase the sorting method of selected articles in the WordPress system

Recommended: "Wordpress Tutorial"

Visitors to the Pandan blog homepage can choose how to effect the article sorting method. Learn how to do it today. Let me share with you the implementation process of this article sorting effect.

In fact, the implementation process is relatively simple. One is to construct a link, and the other is to use query_posts to change the main loop.

Constructing links

Links are mainly used to pass GET parameters to let the PHP program know how you want to sort. Insert the following code in the index.php of the theme where you need it to output the HTML of the sort button. You can then write the CSS yourself for the style of the sort button. It should be noted that the following code will automatically obtain the sorting method selected by the current user, and add class="current" to the li of this sort button

The code is as follows:

<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>

Change the main loop

First you have to find the following statement in the theme's index.php:

The code is as follows:

if (have_posts())

Then add the following code before this sentence:

The code is as follows:

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())

Okay, it’s that simple, copy and paste, and easily achieve the sorting effect

The above is the detailed content of How to increase post sorting in WordPress. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn