这篇文章将为大家详细讲解有关WordPress增加文章排序方式的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
WordPress怎么增加文章排序方式?
很多网站的文章列表页面都可以查看排序方法,但是在wp系统中是没有这个功能,下面我们来看看关于WordPress系统中增加选择文章的排序方式的解决办法
露兜博客首页的访客可自行选择文章排序方式的效果是怎么做的,今天就来给大家分享这个文章排序效果的实现过程。
其实实现过程也比较简单,一个是构造链接,另外一个是使用query_posts来改变一下主循环就可以了。
构造链接
链接主要用于传递GET参数,让PHP程序知道你到底想怎么排序。在主题的index.php中你需要的位置插入以下代码,用于输出排序按钮的HTML,这个排序按钮的样式,你再自己写写css咯。需要注意的是以下代码会自动获取当前用户已选择的排序方式,并给这个排序按钮的 li 添加了class="current"
代码如下:
<h5>文章排序</h5> <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>
改变主循环
首先你得先在主题的index.php中找到以下语句:
代码如下:
if (have_posts())
然后在这句之前添加以下代码:
代码如下:
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())
关于WordPress增加文章排序方式的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。