WordPress增加文章排序方式


本文整理自网络,侵删。

露兜博客首页的访客可自行选择文章排序方式的效果是怎么做的,今天就来给大家分享这个文章排序效果的实现过程。

其实实现过程也比较简单,一个是构造链接,另外一个是使用query_posts来改变一下主循环就可以了。
构造链接
链接主要用于传递GET参数,让PHP程序知道你到底想怎么排序。在主题的index.php中你需要的位置插入以下代码,用于输出排序按钮的HTML,这个排序按钮的样式,你再自己写写css咯。需要注意的是以下代码会自动获取当前用户已选择的排序方式,并给这个排序按钮的 li 添加了class="current"

代码如下:

<h4>文章排序</h4>
<ul>
<li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='rand') ) echo 'class="current"'; ?> rel="nofollow">随机阅读</a></li>
<li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='commented') ) echo 'class="current"'; ?> rel="nofollow">评论最多</a></li>
<li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='alpha') ) echo 'class="current"'; ?> 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

相关阅读 >>

更改wordpress自动生成摘要的方式

nginx环境下wordpress的多站点功能配置详解

wordpress 插件直接将服务器文件导入媒体库

ubuntu vps中wordpress网站打开时提示”建立数据库连接错误”的解决办法

教你如何在wordpress发布文章时自定义文章作者名称

国外比较好的几个的php开源建站平台小结

wordpress中邮件的一些修改和自定义技巧

基于docker 搭建wordpress的方法

wordpress主题评论中添加回复的方法

完美实现wordpress禁止文章修订和自动保存的方法

更多相关阅读请进入《wordpress》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...