query_posts函数使用方法小结|wordpress技巧
query_posts是wordpress非常好用的调用文章函数,可以调用某个分类、标签、日期及作者等不同范围的文章列表。下面随ytkah一起来看看query_posts函数使用方法小结
首先是query_posts 的一般写法。通常是如先定义查询再加入文章loop后再重置查询。
<?php
//定义要显示的文章范围查询
query_posts();
//文章loop
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<!–这边是当判断符合时列出的文章清单,你可以用< ?php the_xxx(); >系列来显示相关的文章资讯–>
<?php
endwhile; else:
?>
<!–这边是显示无资料时要跑出来的错误讯息–>
<?php
endif;
//重置查询(这是为了避免之后的查询资料因为上面这段查询而混乱掉)
wp_reset_query();
?>
下面所有的函数都基于以上框架,只要在 query_posts(); 里输入相应的参数来显示出自己想要的文章范围即可。
1、Category Parameters(文章分类参数)
<?php
//仅显示分类编号为4的文章(包括子分类文章)
query_posts(‘cat=4′);
//仅显示分类名称为Codex的文章(包括子分类文章)
query_posts(‘category_name=Codex ‘);
//显示多个分类内的文章(包括各子分类文章)
query_posts(‘cat=2,6,17,38′);
//除了分类编号为3的文章(包括子分类文章),其他文章都显示
query_posts(‘cat=-3′);
//显示同时有分类编号为2及6的文章
query_posts(array(‘category__and’ => array(2,6)));
//显示分类编号为6的文章(但不包括子分类文章)
query_posts(array(‘category__in’ => array(6)));
//除了分类编号为2及6的文章,子分类及其他分类文章都显示
query_posts(array(‘category__not_in’ => array(2,6)));
?>
2、Tag Parameters(标签参数)
<?php
//仅显示标签带有cooking的文章
query_posts(‘tag=cooking’);
//仅显示标签带有bread或baking的文章
query_posts(‘tag=bread,baking’);
//仅显示标签带有bread及baking及recipe的文章
query_posts(‘tag=bread+baking+recipe’);
//仅显示标签带有编号37及47的文章
query_posts(array(‘tag__and’ => array(37,47));
//仅显示标签带有编号37或47的文章
query_posts(array(‘tag__in’ => array(37,47));
//仅显示标签不带有编号37或47的文章
query_posts(array(‘tag__not_in’ => array(37,47));
?>
3、Author Parameters(作者参数)
<?php
//仅显示作者编号为3的文章
query_posts(‘author=3′);
//仅显示作者编号不为3的文章
query_posts(‘author=-3′);
//仅显示作者名称为Harriet的文章
query_posts(‘author_name=Harriet’);
?>
4、Sticky Post Parameters(置顶文章参数)
<?php
//仅显示置顶文章
array(‘post__in’=>get_option(‘sticky_posts’))
//将文章的置顶属性清除掉,以正常文章顺序排序(例如发表日期)显示出来
caller_get_posts=1 //显示文章,但不显示置顶文章。
query_posts(array(“post__not_in” =>get_option(“sticky_posts”))); //显示分类编号为6的文章、每页显示3 篇文章,并且将此分类下文章的置顶属性清除掉,以正常文章顺序排序(例如发表日期)显示出来。
query_posts(‘cat=6&posts_per_page=3&caller_get_posts=1′);
?>
5、Post & Page Parameters(文章& 分页参数)
<?php
//显示文章编号为27的文章
‘p’ => 27
//显示文章代称为about-my-life的文章
‘name’ => ‘about-my-life’
//显示分页编号为7的分页
‘page_id’ => 7
//显示分页代称为about的分页
‘pagename’ => ‘about’
//当文章超过5篇时就仅显示5篇文章并且搭配换页程式码显示换页连结,设为-1则不换页全部显示。
‘posts_per_page’ => 5
//当设定为6时就显示6篇文章,设为-1则显示范围内的全部文章。
‘showposts’ => 6
//仅显示文章编号为5,12,2,14,7的这5篇文章
‘post__in’ => array(5,12,2,14,7)
//仅显示文章编号不为5,12,2,14,7的其他全部文章
‘post__not_in’ => array(6,2,8)
//显示文章类型为分页的文章,预设值为post (文章),可以使用的数值有attachment(媒体档页面), page(分页), post(文章),或revision(修订)。
‘post_type’ => ‘page’
//显示文章状态为公开性质的文章,可以使用的数值有pending(审核中), draft(草稿), future(排程), private(私人), trash(垃圾) 。
‘post_status’ => ‘publish’
//显示文章范围内的第93页
‘post_parent’ => 93
?>
6、Time Parameters(时间参数)
<?php
//显示12月20日发表的文章列表。
query_posts(‘monthnum=12&day=20′); //显示本周发表文章列表。
$week = date(‘W’);
$year = date(‘Y’);
query_posts(‘year=’ . $year .‘&w=’ .$week ); //显示最近30天内发表的文章列表。
function filter_where($where = ”) {
$where .= ” AND post_date > ‘” . date(‘Ym-d’, strtotime(‘-30 days’)) . “‘”;
return $where;
}
add_filter(‘posts_where’, ‘filter_where’);
query_posts($query_string);
?>
7、Orderby Parameters(排列顺序参数)
<?php
//依照发表作者排列
orderby=author
//依照日期排列
orderby=date
//依照标题排列
orderby=title
//依照最后编辑时间排列
orderby=modified
//依照分页顺序排列(仅适用于分页)
orderby=menu_order
// (不知道XD…)
orderby=parent
//依照文章编号排列
orderby=ID
//随机排列
orderby=rand
//依照自订栏位数值排列
orderby=meta_value
//依照预设排列
orderby=none
//依照回响数排列
orderby=comment_count
?>
8、Pagination Parameters(分页参数)
<?php
//当值设定true时则为不分页显示,直接显示全部文章
nopaging=true
//显示每页文章显示10篇
posts_per_page=10
//页数,例如当设定为6时则就表示跳到第6页
paged=6
//排列顺序,ASC为按时间顺序排列文章,若是DESC则是反向显示文章
order=ASC
?>
9、组合运用范例
<?php
query_posts(‘cat=3&year=2004′);
?>
显示分类编号为1及3且每页显示两篇、依照标题逆向排列的文章。
<?php
query_posts(array(‘category__and’=>array(1,3),‘posts_per_page’=>2,‘orderby’=>title,‘order’=>DESC));
?>
仅在首页显示,并且是在分类编号为13的当月发表文章。
<?php
if (is_home()) {
query_posts($query_string . ‘&cat=13&monthnum=’ . date(‘n’,current_time(‘timestamp’)));
}
?>
显示分类编号为1且标签为apples的文章。
<?php
query_posts(‘cat=1&tag=apples’);
?>
query_posts函数使用方法小结|wordpress技巧的更多相关文章
- jQuery操作iframe中js函数的方法小结
1.jquery操作iframe中的元素(2种方式) ? 1 2 var tha = $(window.frames["core_content"].document).find( ...
- wp_list_categories()函数使用方法|wordpress函数
wp_list_categories()函数是将分类以链接的形式罗列出来,点击分类的链接,就可以访问该分类页面.我们有时候会在一些页面调用分类链接,这时这个函数就可以用上了.注意: wp_list_c ...
- 在Linux下禁用IPv6的方法小结
在Linux下禁用IPv6的方法小结--http://www.jb51.net/LINUXjishu/335724.html 这篇文章主要介绍了在Linux下禁用IPv6的方法小结,禁用IPv6的操作 ...
- 学习笔记:jquery1.9版本后废弃的函数和方法
jQuery1.9+ 废弃的函数和方法 升级Jquery版本遇到的问题 (转载自:http://www.ppblog.cn/jquery1-9live.html 版权归原作者所有) jQuery1. ...
- static使用方法小结
static使用方法小结 statickeyword是C, C++中都存在的keyword, 它主要有三种使用方式, 当中前两种仅仅指在C语言中使用, 第三种在C++中使用(C,C++中详细细微操作不 ...
- T-SQL切割字符串方法小结
T-SQL切割字符串方法小结,只有表值函数那个是自己的思想,其它都是来源于网络的思想,请大家不要笑话,嘻嘻~网上大牛太多,这点东西虽然上不了台面,但是也算是自己的一个学习吧,能够对一个人有用也行.再不 ...
- asp.net检查验证字符串是否为纯数字方法小结
原文 asp.net检查验证字符串是否为纯数字方法小结 在asp.net中验证字符串是不是为数字我们没有像php中那么多丰富的函数来直接使用,这里我整理了一些比较实例的验证字符串是否为纯数字方法代码 ...
- (转)java判断string变量是否是数字的六种方法小结
java判断string变量是否是数字的六种方法小结 (2012-10-17 17:00:17) 转载▼ 标签: it 分类: 转发 1.用JAVA自带的函数 public static boolea ...
- asp.net(c#)网页跳转 方法小结
返回 打印 asp.net(c#)网页跳转七种方法小结_实用技巧_脚本之家 在asp.net下,经常需要页面的跳转,下面是具体的几种方法.跳转页面是大部编辑语言中都会有的,正面我们来分别介绍一下关于. ...
随机推荐
- POJ-数据结构-优先队列模板
优先队列模板 优先队列是用堆实现的,所以优先队列中的push().pop()操作的时间复杂度都是O(nlogn). 优先队列的初始化需要三个参数,元素类型.容器类型.比较算子. 需要熟悉的优先队列操作 ...
- 【转帖】Linux文件夹对比并提取的差分文件技巧-rsync的妙用
Linux文件夹对比并提取的差分文件技巧-rsync的妙用 [日期:2016-02-13] 来源:oschina.net 作者:mengshuai [字体:大 中 小] https://www.li ...
- 【c++primer练习】 typedef与指针、常量和类型别名
# c++primer 61页 typedef char* ptr ; cstr 是一个指向 char 的常量指针, 一种错误的理解是将语句等同于const char* ptr cstr; 但 ptr ...
- ndk-build官方使用说明
ndk-build 脚本可用于编译采用 NDK 基于 Make 的编译系统的项目.此外,我们还针对 ndk-build 使用的 Android.mk和 Application.mk 配置提供了更具体的 ...
- Java可视化计算器
利用java中的AWT和SWING包来做可视化界面. 首先来简单了解一下这两个包: AWT和Swing都是Java中用来做可视化界面的.AWT(Abstract Window Toolkit):抽象窗 ...
- win10企业版|激|活|码
使用下面的激活码升级成企业版 NPPR9-FWDCX-D2C8J-H872K-2YT43 激活后,如果右下角出现未激活的白色字体用cmd命令,管理员窗口运行下面的命令 win10企业版用户请依次输入: ...
- pickle导入变量AttributeError的解决方案
问题描述: AttributeError: 'module' object has no attribute ‘attr1’ 解决方案: # 找到报错的文件a.py from a import att ...
- java log4j 打日志到控制台同时打印到不同文件
1.pom配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- Spring Boot 复习
简介 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭 建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义 ...
- 基于tensorflow的简单鼠标键盘识别
import cv2 as cvimport tensorflow as tfimport numpy as npimport random ##以下为数据预处理,分类为cata,总共样本为cata* ...