Home >CMS Tutorial >WordPress >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['order']) && ($_GET['order']=='rand') ) echo 'class="current"'; ?> href="/?order=rand" rel="nofollow">随机阅读</a></li> <li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='commented') ) echo 'class="current"'; ?> href="/?order=commented" rel="nofollow">评论最多</a></li> <li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='alpha') ) echo 'class="current"'; ?> 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['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())
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!