• 售前

  • 售后

热门帖子
入门百科

WordPress增长文章排序方式

[复制链接]
李志敏 显示全部楼层 发表于 2021-8-15 19:34:38 |阅读模式 打印 上一主题 下一主题
露兜博客首页的访客可自行选择文章排序方式的结果是怎么做的,今天就来给各人分享这个文章排序结果的实现过程。

其实实现过程也比力简单,一个是构造链接,别的一个是使用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="/?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())

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作