WordPress怎么增加文章排序方式

redmaomail 2024-07-24 23:03 阅读数 66 #wordpress

红帽云邮外贸主机

WordPress怎么增加文章排序方式

wordpress怎么增加文章排序方式?

很多网站的文章列表页面都可以查看排序方法,但是在wp系统中是没有这个功能,下面我们来看看关于WordPress系统中增加选择文章的排序方式的解决办法

  推荐:《wordpress教程

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

其实实现过程也比较简单,一个是构造链接,另外一个是使用query_posts来改变一下主循环就可以了。

构造链接

链接主要用于传递GET参数,让PHP程序知道你到底想怎么排序。在主题的index.php中你需要的位置插入以下代码,用于输出排序按钮的HTML,这个排序按钮的样式,你再自己写写css咯。需要注意的是以下代码会自动获取当前用户已选择的排序方式,并给这个排序按钮的 li 添加了class="current"

代码如下:

<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>
登录后复制

改变主循环

首先你得先在主题的index.php中找到以下语句:

代码如下:

if (have_posts())
登录后复制

然后在这句之前添加以下代码:

代码如下:

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())
登录后复制

好了,就这么简单,复制粘贴,轻轻松松实现排序效果

以上就是WordPress怎么增加文章排序方式的详细内容,更多请关注红帽云邮其它相关文章!


红帽云邮外贸主机

分享到:
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
    红帽云邮外贸主机
热门
    红帽云邮外贸主机
    红帽云邮外贸主机