在讲WP_Query之前我们要先区分一下两个名词:
WP_Query是WordPress自带的的一个用于处理复杂请求的类,在wp-includes/query.php(这里的请求的内容不仅包括文章,还可能是页面,用户,分类等其它信息)。
$wp_query则是在wp-blog-header.php文件中定义的一个WP_Query实体对象,它提供了当前请求的信息。
访问Wordpress首页或分类页面的时候,Wordpress默认创建一个WP_Query的实例,做为这个页面的主循环。 在查看Wordpress主题源代码时,你经常会看到类似:
- while( have_posts()): the_post();
的代码。这个就是查找本页面主循环中是否有文章,并予以显示的方法。不过很多时候,除了页面的主循环,我们可以还需要创建自己的查询对象,比方用来显示热门的文章、某人的特定文章等。
具体使用方法:
通过分类获取文章:
关于分类有 5 个可用的参数:
cat(整数):分类 ID
category_name(字符串):分类别名
category__and(数组):分类 ID
category__in(数组):分类 ID
category__not_in(数组):分类 ID
获取一个分类的文章
根据分类的 ID 获取一个分类的文章(包含此分类的子分类):
- $query =new WP_Query('cat=4')
根据分类的 ID 获取多个分类的文章:
- $query =new WP_Query('cat=2,6,17,38');
想要排除一些分类只需要在分类 ID 前加上 “-” 号:
- $query =new WP_Query('cat=-12,-34,-56');
获取同时有多个分类的文章,下边的代码会获取必须同时拥有 ID 为 2 和 6 的分类的文章:
- $query =new WP_Query( array('category__and'=> array(2,6)));
根据标签获取文章:
获取关于标签的文章,可以使用 7 个参数:
tag(字符串):标签别名
tag_id(整数):标签 ID
tag__end(数组):一些标签 ID
tag__in(数组):一些标签 ID
tag_slug__and(数组):一些标签别名
tag_slug__in(数组):一些标签别名
根据标签别名获取有这个标签的文章:
- $query =new WP_Query('tag=cooking');
根据标签 ID 获取有这个标签的文章:
- $query =new WP_Query('tag_id=13');
根据排序获取文章
获取根据评论数量排序的文章:
- $query =new WP_Query( array('orderby'=>'comment_count'));
根据时间获取文章
获取今天发布的文章
- $today = getdate();
- $query =new WP_Query('year='. $today['year'].'&monthnum='. $today['mon'].'&day='. $today['mday']);
获取本周发布的文章
- $week = date('W');
- $year = date('Y');
- $query =new WP_Query('year='. $year .'&w='. $week );
根据作者获取文章
查询和某些作者(用户)有关的文章,可以使用 4 个参数:
author(整数):用户 ID
author_name(字符串):用户的昵称(“user_nicename” 字段)
author__in(数组):用户 ID
author__not_in(数组):用户 ID
根据用作者ID 获取:
- $query =new WP_Query('author=123');
实例:获取最新5篇文章完整代码块
- <h3>最新文章</h3>
- <ul>
- <?php
- $recentPosts =new WP_Query();
- $recentPosts->query('showposts=5');
- ?>
- <?php while($recentPosts->have_posts()): $recentPosts->the_post();?>
- <li><a href="<?php the_permalink()?>" rel="bookmark"><?php the_title();?></a></li>
- <?php endwhile;?>
- </ul>
类WP_Query()的功能非常强大,翠竹林wordpress主题小编只能为大家介绍到这里了,更多可以参考这两篇文章
http://www.endskin.com/wp_query-directions.html
https://codex.wordpress.org/Class_Reference/WP_Query
翠竹林版权所有,如未注明 , 均为原创,转载需注明出处。
相关推荐
#Fast WP_Query WP_Query通过使用对象缓存进行MySQL优化 ##基准### 1。 选择最后10个帖子(数据库中有7000行) $ query = new WP_Query ( [ 'post_type' => 'post' , 'posts_per_page' => 10 ] ); ####默认SQL: ...
在讲WP_Query之前我们要先区分一下两个名词: WP_Query是Wordpress自带的的一个用于处理复杂请求的类(这里的请求的内容不仅包括文章,还可能是页面,用户,分类等其它信息)。 $wp_query则是在wp-blog-header.php...
es-wp-query, 在替换WP_Query以利用Elasticsearch进行复杂查询时, 用于的Elasticsearch封装替代WP_Query的替代,以利用Elasticsearch进行复杂查询。警告警告 !这个插件目前处于beta开发阶段,因此,它的任何部分都...
这个实验性插件可让您使用combined_query属性将多个WP_Query查询合并为一个查询。 这是作为Stackoverflow的答案开始的,请参见和。 该插件背后的想法是将每个WP_Query()查询SQL查询与UNION或UNION ALL结合在一起。...
激活插件,您可以在所有WP_Query和WP_User_Query查询中使用geo_query参数。 下面是几个示例,例如Rest API。 安装 将插件上传到plugin文件夹并激活它。 要使用Composer安装依赖项(不是必需的): compo
Twork查询 WordPress WP_Query包装器。 安装 作曲家需要twork /查询 用法示例: use Twork \ Query \ Query ; $ query = new Query ( '...可以使用addArg添加无法作为方法使用的参数,如下面的示例所示。 $ query =
当我们在制作wordpress模板时,经常会用到WP_Query (wordpress WP_Query类的使用),WP_Query允许你自定义你查询的数据条件,wordpress查询语句生成器是国外的一款web应用,通过页面选择相应的条件从而生成查询语句...
这是最近爆出来的一个 wordpress 的 SQL 注入漏洞,实际上不是一个可以直接利用的洞,而是wordpress 的一个核心函数 WP_Query 的漏洞,这个函数常被插件使用,因此能造成的危害也挺大,前台后台都有可能
WP 相关性查询适用于当您需要使用多个分类术语进行帖子查询时,并根据最相关的帖子(所需术语数量最多)对帖子进行排序。 您需要多久运行一次帖子查询,需要按相关性对结果帖子进行排序? 可能不是很频繁。 但是我...
wp_parse_args() 函数是 ...常见的 query_posts()、wp_list_comments() 和 get_terms() 函数都使用了 wp_parse_args() 函数来帮它给数组参数添加默认值。 用法 wp_parse_args( $args, $defaults ); 参数 $args (数
WPQueryBuilderUI 允许开发人员使用友好的用户界面创建WP_Query对象的Wordpress插件,然后生成PHP代码和/或Wordpress简码。执照WPQueryBuilderUI是根据GNU通用公共许可证版本3许可的。
WP查询生成器WP Query Builder是基于wpdb的WordPress轻巧高效...有论点$ query = \ PluginEver \ QueryBuilder \ Query :: init ( 'query_users' );选择这将构建查询,执行并自动使用用户表前缀从用户表中返回所有用户
这用于连接到Google日历包含: 事件短代码[events_daily_three posts_per_page= "10" order= "ASC" distinct= "true" ]<div xss=removed>{{title}}[/events_daily_three] 注意distinct参数,这是不是一个wp_query之...
高级后缓存概述用于缓存帖子查询的 WordPress 插件。
基本 WP_Query 参数 wp-query 基本 WP_Query 标题 片段 描述 wp-title 显示或返回当前帖子的标题 内容 片段 描述 wp-content 显示当前帖子的内容 发布缩略图 片段 描述 wp-thumb 显示当前帖子缩略图 菜单 片段 ...
* Source: https://core.trac.wordpress.org/browser/tags/4.9.4/src/wp-includes/query.php */ $ args = array( // Author Parameters - Show posts associated with certain author. // ...
作者 查询和某些作者(用户)有关的文章,...$query = new WP_Query( 'author=123' ); 根据用户的昵称(“user_nicename” 字段)获取: $query = new WP_Query( 'author_name=rami' ); 获取多个作者的文章 根据用
WP片段缓存 描述 ... ... WP_Fragment_Cache :: output ( $ wp_query_or_blockname , $ duration ) ): ?> //content to be cached <?php WP_Fragment_Cache :: store (); ?> <?php endi
而不是要使系统停机,而不是通过此插件只允许任何meta_query,但是您可以使用此插件作为如何挂接的示例到WPGraphQL中以添加输入并将这些输入映射到要执行的WP_Query。先决条件使用此插件需要安装并激活。 需要...
WP-DBManager是wordpress的数据备份插件,目前最新版本为2.40,其主要用途是对WordPress 的数据库进行管理,从而省去了用户必须使用类似PhpMyadmin登录数据库进行备份、修复、导入等操作,并且可以前台执行 SQL 语句...