主页 > 后端 > wordpress教程 >
来源:自学PHP网 时间:2014-11-28 23:42 作者: 阅读:次
[导读] wordpress博客系统中如果我们文章置顶那么文章置顶的文章排序会发生变化,那么我希望实现的功能是文章置顶不改变文章排序了,下面我找到一站长写的方法现在分享给各位...
wordpress文章置顶不改变文章排序实现方法wordpress博客系统中如果我们文章置顶那么文章置顶的文章排序会发生变化,那么我希望实现的功能是文章置顶不改变文章排序了,下面我找到一站长写的方法现在分享给各位. 文章置顶不排序,query_posts方法的代码如下:
这段代码是在网上找到的一段处理与过滤置顶文章的办法,但是会导致之前说的搜索、标签、分类页面只显示首页内容的问题,为了解决这个问题,向数组内加入了s、tag等查询条件,虽然能够正常的查询到标签页与搜索页的内容,但是又会导致分类页出现问题,因此只能另寻他法, 仔细的查阅wordpress的方法说明,发现query_posts方法可以通过全局变量$query_string来设置查询过滤,并且不影响其他的查询结果,代码如下:
设置显示/不显示置顶文章 在默认主题下,如果将某篇文章设置成置顶后,会将该文章提至首页文章列表最前显示,此时,可以添加一个置顶图标或者一个字眼“[置顶]”作为区别,很简单,只需在文章标题的代码附近加上一句代码即可,用函数is_sticky()判断是否为置顶文章,如果是的话就加入相应的图标或者文字,代码如下:
如果要求不高的话,这样也就可以了,已经达到了目的,但是如果你的要求较高,想将置顶文章和普通文章分离开来,想让置顶文章和普通文章有明显区别,如置顶文章只显示标题,而普通文章还要显示更多的内容,可以用下面的办法来实现. 首先,将原来的显示所有文章的代码稍作调整,让其不将置顶文章提至最前,但仍然出现在文章列表中,将以下代码替换到原输出所有文章代码的位置,一般在<?php if (have_posts()):while (have_posts()):the_post(); ?>前,注意,以下代码和原代码有部分重叠,请将不同的关键代码加入相应的位置即可,主要是有注释的那两行,代码如下:
然后,在适当位置添加只显示置顶文章的代码,一般的话,放在靠前的位置,这样才能体现出置顶的效果嘛,也就是放在显示所有文章列表代码之前,代码如下:
这样的话,基本上已经实现了显示和不显示置顶文章的功能. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com