1 <?php
  2 /**
  3 * WordPress 查询综合参考
  4 * 编译:luetkemj - luetkemj.com
  5 *
  6 * 官方文档: http://codex.wordpress.org/Class_Reference/WP_Query
  7 * 源代码: http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/query.php
  8 */
  9
 10 $args = array(
 11
 12 //作者参数 - 显示某些作者发表的文章
 13 'author' => '1,2,3,' //(整数) - 作者ID [使用减号 (-) 排除某个作者 ID, 如: 'author' => '-1,-2,-3,']
 14 'author_name' => 'luetkemj', //(字符串) - 使用 'user_nicename' 用户昵称,(不是名称)
 15
 16 //分类参数 - 显示某个分类里面的文章
 17 'cat' => 5,//(整数) - 分类id
 18 'category_name' => 'staff', 'news', //(字符串) - 分类别名(不是名称)
 19 'category__and' => array( 2, 6 ), //(数组) - 分类id
 20 'category__in' => array( 2, 6 ), //(数组) - 分类id
 21 'category__not_in' => array( 2, 6 ), //(数组) - 分类id
 22
 23 /////标签参数 - 显示含有某些标签的文章
 24 'tag' => 'cooking', //(字符串) - 标签别名
 25 'tag_id' => 5, //(整数) -标签id
 26 'tag__and' => array( 2, 6), //(数组) - 标签id
 27 'tag__in' => array( 2, 6), //(数组) - 标签id
 28 'tag__not_in' => array( 2, 6), //(数组) - 标签id
 29 'tag_slug__and' => array( 'red', 'blue'), //(数组) - 标签别名
 30 'tag_slug__in' => array( 'red', 'blue'), //(数组) - 标签别名
 31
 32 //自定义分类法参数 - 显示某些自定义分类法里面的文章
 33 //重要提示: tax_query 使用多维数组
 34 //这种查询结构允许我们查询多个自定义分类法
 35 'tax_query' => array( //(数组) - 使用自定义分类法查询参数 (3.1及以后版本可用).
 36 'relation' => 'AND', //(字符串) - 可用的值有 'AND' 或 'OR' 和 SQL 的 JOIN 作用是相同的
 37 array(
 38 'taxonomy' => 'color', //(字符串) - 自定义分类法
 39 'field' => 'slug', //(字符串) - 使用别名还是分类作为查询条件 ('id' 或 'slug')
 40 'terms' => array( 'red', 'blue' ), //(整数/字符串/数组) - 自定义分类法分类条目
 41 'include_children' => true, //(布尔值) - 是否包含自分类,默认为真
 42 'operator' => 'IN' //(字符串) - 测试条件,可用值为 'IN', 'NOT IN', 'AND'.
 43 ),
 44 array(
 45 'taxonomy' => 'actor',
 46 'field' => 'id',
 47 'terms' => array( 103, 115, 206 ),
 48 'include_children' => false,
 49 'operator' => 'NOT IN'
 50 )
 51 ),
 52
 53 //文章 & 页面参数- 基于文章或页面参数显示文章
 54 'p' => 1, //(整数) - 文章id
 55 'name' => 'hello-world', //(字符串) - 文章别名
 56 'page_id' => 1, //(整数) - 页面id
 57 'pagename' => 'sample-page', //(字符串) - 页面别名
 58 'pagename' => 'contact_us/canada', //(字符串) - 用斜杠‘/’分割的父页面别名/子页面别名来显示子页面
 59 'post_parent' => 1, //(整数) - 页面id,只返回子页面,只对有子页面的页面有效
 60 'post__in' => array(1,2,3), //(数组) - 需要显示的文章的id
 61 'post__not_in' => array(1,2,3), //(数组) - 需要排除的文章的id
 62 //注意:不能在同一个查询里同时使用 'post__in' 和 'post__not_in'
 63
 64 //文章类型 & 状态参数 - 显示某些文章类型里面的文章
 65 'post_type' => array( //(字符串/ 数组) - 文章类型,根据文章类型获取文章,默认为'post'
 66 'post', // - 文章
 67 'page', // - 页面
 68 'revision', // - 文章版本
 69 'attachment', // - 附件,默认 WP_Query 设置了发布状态为 'post_status'=>'published', 但是附件默认为 'post_status'=>'inherit',所以你需要设置状态为 'inherit' 或'any'.
 70 'my-post-type', // - 自定义文章类型 (例如:movies)
 71 ),
 72 'post_status' => array( //(字符串 / 数组) - 使用文章状态,根据文章状态获取文章,默认为 'publish'
 73 'publish', // - 已发布的文章或页面
 74 'pending', // -等待复审的文章
 75 'draft', // - 处于草稿状态的文章
 76 'auto-draft', // - 自动保存为草稿的文章
 77 'future', // - 定时发布的文章
 78 'private', // - 未登录用户不能查看的私有文章
 79 'inherit', // - 版本. 具体参考 get_children.
 80 'trash' // - 回收站中的文章 (2.9和以后的版本可用).
 81 ),
 82
 83 //注意:The 'any' 关键字可以用在 post_type 和 post_status 查询,但是不能在数组中使用
 84 'post_type' => 'any', // - 获取所有文章类型里面的文章,除了版本和文章类型参数'exclude_from_search'设置为true的文章类型
 85 'post_status' => 'any', // - 获取处于所有文章状态的文章,除了版本和文章类型参数'exclude_from_search'设置为true的文章类型
 86
 87 //分页参数
 88 'posts_per_page' => 10, //(整数) - 每页显示的文章数量 (2.1和以后的版本可用), 使用'posts_per_page'=-1 显示所有文章,如果查询处于订阅源中,WordPress用 'posts_per_rss' 选项覆盖了这里的设置,需要使用这个限制,尝试使用 'post_limits' 过滤器,或使用 'pre_option_posts_per_rss'过滤器返回 -1
 89 'posts_per_archive_page' => 10, //(整数) - n每页显示的文章数量 - 只在存档页面使用,在存档页面和搜索结果页面覆盖了 showposts 和 posts_per_page 参数
 90 'nopaging' => false, //(布尔值) - 在一页显示所有文章或使用分页,默认值为 'false', 使用分页
 91 'paged' => get_query_var('paged'), //(整数) - 页数,分页时显示第几页
 92 //注意:使用 get_query_var('page'); 如果查询在设置为首页的页面模版中工作,查询参数 'page' 拥有文章分页或内容中使用 <!--nextpage--> 快捷代码的分页。
 93
 94 //偏移参数
 95 'offset' => 3, //(int) - 跳过的文章数量
 96
 97 //排序 & 排序方式参数 - 对获取的文章进行排序
 98 'order' => 'DESC', //(字符串) - 设置 'order_by' 参数升序或降序排列. 默认为'DESC'.
 99 //Possible Values:
100 //'ASC' - 升序排列,从小到大 (1, 2, 3; a, b, c).
101 //'DESC' - 降序排列,从大到小 (3, 2, 1; c, b, a).
102 'orderby' => 'date', //(字符串) - 排序依据. 默认为 'date'.
103 //可用的参数有://
104 //'none' - 不排序 (2.8和以后的版本可用)
105 //'ID' - 根据ID排序,注意ID是大写的
106 //'author' - 根据作者排序
107 //'title' - 根据标题排序
108 //'date' - 根据发表时间排序
109 //'modified' - 根据最后修改时间排序
110 //'parent' - 根据父页面排序
111 //'rand' - 随机排序
112 //'comment_count' - 根据评论数量排序 (2.9和以后的版本可用).
113 //'menu_order' - 根据页面序号排序. 通常在页面中使用 (编辑页面时有一个页面序号的字段) 和附件 ( 插入 / 上传媒体相册对话框中的数字), 但是不能对文章类型 'menu_order' 使用数字值 (默认都为 0).
114 //'meta_value' - 注意'meta_key=keyname' 必须也出现在查询中. 注意排序是按照字母表顺序进行的。(如:words),但是数字排序可能会有问题 (如:1, 3, 34, 4, 56, 6, etc, 而不是你希望的:1, 3, 4, 6, 34, 56)。
115 //'meta_value_num' - 根据数字meta值排序 (2.8和以后的版本中可用). 同时需要注意'meta_key=keyname' 也要在查询中声明。这个值和上面说明的 'meta_value' 一样,只不过值允许使用数字排序。
116 //'title menu_order' - 同时使用 menu_order 和 title 排序 更多信息请参考:http://wordpress.stackexchange.com/questions/2969/order-by-menu-order-and-title
117 //'post__in' - 使用 post__in 数组中制定的 ID 顺序 (3.5以后的版本中可用).
118
119 //置顶文章参数 - 显示或忽略置顶文章
120 'ignore_sticky_posts' => false, //(布尔值) - 是否忽略置顶文章,默认为假不忽略. 在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。
121 //注意:关于置顶文章的更多信息,请参考:http://codex.wordpress.org/Class_Reference/WP_Query#Sticky_Post_Parameters
122
123 //时间参数 - 显示某个时间段内的文章
124 'year' => 2012, //(int) - 4 个数字的年份 (如:2011)
125 'monthnum' => 3, //(int) - 月份数字 (从 1 到 12)
126 'w' => 25, //(int) - 一年中的第几周 (从 0 到 53), 使用 MySQL WEEK 命令,此模式和"start_of_week" 选项相关
127 'day' => 17, //(int) - 月中的天数 (从 1 到 31)
128 'hour' => 13, //(int) - 小时 (从 0 到 23).
129 'minute' => 19, //(int) - 分钟 (从 0 到 60).
130 'second' => 30, //(int) - 秒 (从 0 到 60).
131
132 //自定义字段参数 - 显示拥有某个自定义字段的文章
133 'meta_key' => 'key', //(字符串) - 自定义字段的键
134 'meta_value' => 'value', //(字符串) - 自定义字段的值
135 'meta_value_num' => 10, //(数字) - 自定义字段的值
136 'meta_compare' => '=', //(字符串) - 测试'meta_value'的操作。可用的值有'!=', '>', '>=', '<', or ='. 默认为 '='.
137 'meta_query' => array( //(数组) - 自定义字段参数 (3.1和以后的版本可用).
138 array(
139 'key' => 'color', //(字符串) - 自定义字段的键
140 'value' => 'blue' //(字符串/数组) - 自定义字段的值 (注意:数组的支持仅限于一个比较值: 'IN', 'NOT IN', 'BETWEEN', or 'NOT BETWEEN')
141 'type' => 'CHAR', //(字符串) -自定义字段类型,可用的值有:'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED',默认为 'CHAR'
142 'compare' => '=' //(字符串) - 测试的操作,可用的值有: '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. 默认为:'='
143 ),
144 array(
145 'key' => 'price',
146 'value' => array( 1,200 ),
147 'compare' => 'NOT LIKE'
148 )
149
150 /////权限参数 - 显示已发布文章,如果用户有合适的权限,同样现实私有文章:
151 'perm' => 'readable' //(字符串) 可用的值有:'readable', 'editable' (可能还有其他可用的值我没有测试)
152
153 //与缓存相关的参数
154 'no_found_rows' => false, //(布尔值) 默认为假,为了分页,WordPress 在大多数查询中使用 SQL_CALC_FOUND_ROWS 查询, 即使你不需要分页,通过设置这个参数为真,我们告诉了了WordPress不要查询数据总行数,从而降低数据库负载,如果设置了这个参数为真,分页将不工作,更多信息请参考:http://flavio.tordini.org/speed-up-wordpress-get_posts-and-query_posts-functions
155 'cache_results' => true, //(布尔值) 默认为真
156 'update_post_term_cache' => true, //(布尔值) 默认为真
157 'update_post_meta_cache' => true, //(布尔值) 默认为真
158 //注意:缓存是个好东西,通常不建议设为假,更多信息请参考:http://codex.wordpresorg/Class_Reference/WP_Query#Permission_Parameters
159
160 //搜索参数
161 's' => $s, //(字符串) - 传递搜索变量到搜索功能,更多信息请参考: http://www.wprecipes.com/how-to-display-the-number-of-results-in-wordpress-search
162 'exact' => true //(布尔值) - 只匹配完整的titles/posts的信号 - 默认值为假,更多信息请参考:https://gist.github.com/2023628#gistcomment-285118
163 'sentence' => true //(布尔值) - 进行短语搜索的信号-默认值为假,更多信息请参考:https://gist.github.com/2023628#gistcomment-285118
164
165 //文章字段参数
166 //关于文章字段参数信息,请参考http://codex.wordpress.org/Class_Reference/WP_Query#Post_Field_Parameters
167
168 //过滤器
169 //关于过滤器的更多信息,请参考:http://codex.wordpress.org/Class_Reference/WP_Query#Filters
170
171 );
172
173 $the_query = new WP_Query( $args );
174
175 // 循环开始
176 if ( $the_query->have_posts() ) :
177 while ( $the_query->have_posts() ) : $the_query->the_post();
178 // 输出内容
179 endwhile;
180 endif;
181
182 // 重置文章数据
183 wp_reset_postdata();
184
185 ?>

转载于:https://www.cnblogs.com/mopagunda/p/6347464.html

转:绝对干货--WordPress自定义查询wp_query所有参数详细注释相关推荐

  1. Wordpress 自定义文章类型的显示以及分页问题

    前提:自己开发了一套主题,并且全局使用了自定义了文章类型. 首页调用了四个分类来显示,并且每个分类显示8个文章,使用查询方式如下: $args = array('post_type'=>'vid ...

  2. [JAVA EE] JPA 查询用法:自定义查询,分页查询

    项目已上传:https://codechina.csdn.net/qq_36286039/javaee 自定义查询 问题:内置的crud功能不满足需求时如何添加自定义查询? 几种自定义查询方法 方法命 ...

  3. Spring Security 实战干货:自定义异常处理

    Spring Security 实战干货:自定义异常处理 转自:https://www.cnblogs.com/felordcn/p/12142514.html 文章目录 1. 前言 2. Sprin ...

  4. https nginx phpstudy_让phpStudy2018 Nginx 支持WordPress自定义链接

    只适合Windows本地环境(服务器上没试过),默认phpStudy2018 Nginx并不支持WordPress自定义链接,可以通过修改配置文件支持让其支持. 用文本编辑工具打开PHPTutoria ...

  5. python wordpress自定义字段获取_WordPress 自定义字段(Custom Fields)详细介绍和使用...

    什么是 WordPress 自定义字段 Custom Fields 我们在使用 WordPress 撰写日志或者页面的时候,都会在编辑框下面看到自定义字段(Custom Fields),那么什么是自定 ...

  6. 自定义查询语句SpringData

    虽然官方的API中给我们提供了很多关键字的查询,但是还是不够灵活,因为我们在项目中,会遇见奇葩的业务,我们需要用SpringData中的一个@Query注解. 使用@Query自定义查询 这种查询可以 ...

  7. activiti自定义_在Activiti中执行自定义查询

    activiti自定义 (这可能最终会出现在Activiti 5.15版本的用户指南中,但是我已经想要共享它了) Activiti API允许使用高级API与数据库进行交互. 例如,对于检索数据,查询 ...

  8. 在Activiti中执行自定义查询

    (这可能最终会出现在Activiti 5.15版本的用户指南中,但是我已经想共享它了) Activiti API允许使用高级API与数据库进行交互. 例如,对于检索数据,查询API和本机查询API的用 ...

  9. jparepository查询所有_jparepository 怎样自定义查询

    匿名用户 1级 2017-03-12 回答 1.使用@Query自定义查询(Spring Data提供的) 这种查询可以声明在Repository方法中,摆脱像命名查询那样的约束,将查询直接在相应的接 ...

最新文章

  1. ueditor图片上传,网络连接错误的解决方案
  2. [Java]jdbc[转]
  3. ToolPart的简单开发
  4. 【转】自然语言系列学习之表示学习与知识获取(一)分布式表示
  5. 大数据学习系列----基于Spark Streaming流式计算
  6. Django项目--首页静态化
  7. 无法检索传真服务器信息,帮助中心
  8. 性能优化(9):切记要避免重定向
  9. Websocket教程SpringBoot+Maven整合(详情)
  10. hadoop 基础命令
  11. 关于jdbc连接mysql的问题bug
  12. JQuery使用总结
  13. (微信小程序)微信小程序-毕设级项目搭建-微信小程序商城(内含源码,微信小程序+java逻辑后台+vue管理系统)
  14. Incorrect string value: '\xF0\x9F\x91\x80' for column数据库中添加表情报错
  15. 基于共识算法和区块链模拟实现超级账本
  16. 一个故事带你看透HTTPS(上)
  17. 研发和测试在多国陆续展开 全球央行数字货币研发驶入快车道
  18. HTML+CSS+JS实现 ❤️ 立方体旋转图片切换特效❤️
  19. 打开计算机页面只有上面一半,我电脑打开网页总是打开一半,不知道是为什么,请高手指教,谢谢!...
  20. 不愧是阿里P8!后端程序员必备的Linux基础知识+常见命令

热门文章

  1. 再送一波干货,测试2000线程并发下同时查询1000万条数据库表及索引优化
  2. LB负载均衡集群--LVS
  3. ***PHP 去除换行符
  4. VirtualBox 扩展虚拟硬盘容量
  5. javascript 15位和18位身份证的正则表达式及其验证
  6. Spring切入点表达式常用写法
  7. 真格量化-50ETF期权波动率策略
  8. Socket的getInputStream()方法
  9. 如何使用idea快速创建SpringBoot项目
  10. 单列表_使用Excel中的quot;记录单quot;功能快速录入数据