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"'; ?> href=http://down.chinaz.com/"http:/www.ludou.org/?order=rand" rel="nofollow">随机阅读</a></li>
<li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='commented') ) echo 'class="current"'; ?> href=http://down.chinaz.com/"http:/www.ludou.org/?order=commented" rel="nofollow">评论最多</a></li>
<li><a <?php if ( isset($_GET['order']) && ($_GET['order']=='alpha') ) echo 'class="current"'; ?> href=http://down.chinaz.com/"http:/www.ludou.org/?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';
}

global $wp_query;
$args= array('orderby' => $orderby, 'order' => 'DESC');

$arms = array_merge($args, $wp_query->query);
query_posts($arms);
}

if (have_posts())

  好了,就这么简朴,复制粘贴,轻轻松松实现排序结果,你…懂了吗?

Wordpress下载:

WordPress v3.5 RC2下载

WordPress让访客选择文章的排序要领

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/10054.html