在讲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: ...
这个漏洞并非直接的SQL注入,但因为`WP_Query`经常被WordPress插件广泛使用,所以其潜在的危害不容忽视,无论是前端还是后台都可能受到影响。此漏洞存在于WordPress版本低于5.8.3的情况。 漏洞的修复可以通过...
es-wp-query, 在替换WP_Query以利用Elasticsearch进行复杂查询时, 用于的Elasticsearch封装替代WP_Query的替代,以利用Elasticsearch进行复杂查询。警告警告 !这个插件目前处于beta开发阶段,因此,它的任何部分都...
这个实验性插件可让您使用combined_query属性将多个WP_Query查询合并为一个查询。 这是作为Stackoverflow的答案开始的,请参见和。 该插件背后的想法是将每个WP_Query()查询SQL查询与UNION或UNION ALL结合在一起。...
4. **get($query_var)**, **set($query_var, $value)**: 分别用于单独设置或获取查询条件中的特定属性,使得设置查询条件更加灵活。 5. **query()**, **get_posts()**: 用于执行查询,`get_posts()`返回查询结果的...
激活插件,您可以在所有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应用,通过页面选择相应的条件从而生成查询语句...
3. **WordPress特定的SQL函数**:WordPress使用了一些定制的SQL函数,例如`WP_Query`,它是一个强大的查询构造器,用于生成复杂的数据查询。 4. **安全性**:在处理SQL源码时,必须考虑SQL注入攻击。Arkainte_wp....
WP 相关性查询适用于当您需要使用多个分类术语进行帖子查询时,并根据最相关的帖子(所需术语数量最多)对帖子进行排序。 您需要多久运行一次帖子查询,需要按相关性对结果帖子进行排序? 可能不是很频繁。 但是我...
使用方法 - **安装**:将`advanced-post-cache-master`解压后上传到WordPress的`wp-content/plugins`目录,然后在后台激活。 - **配置**:在WordPress后台的“设置”->“高级后缓存”中,调整缓存设置,如缓存时间...
在 WordPress 开发中,它被广泛应用于那些需要接受复杂参数的函数,例如 `query_posts()`, `wp_list_comments()`, `get_terms()` 等。下面我们将深入探讨 `wp_parse_args()` 的工作原理、用法以及相关示例。 ### ...
使用WP_QueryBuilder的一个关键优点是其灵活性。开发者可以根据需求动态构建查询,这在处理复杂条件或在不同场景下重用查询逻辑时特别有用。同时,由于WP_QueryBuilder将SQL构建抽象化,它也提高了代码的安全性,...
WPQueryBuilderUI 允许开发人员使用友好的用户界面创建WP_Query对象的Wordpress插件,然后生成PHP代码和/或Wordpress简码。执照WPQueryBuilderUI是根据GNU通用公共许可证版本3许可的。
结合其他WordPress函数,如文章循环(The Loop)、文章查询(WP_Query)以及文章元数据(post meta)操作,你将能够构建出强大的统计功能,满足各种定制需求。 总之,`wp_count_posts()` 是WordPress中的一个强大...
- **WP_Query**:WordPress的核心查询类,用于获取和展示内容。源码中可能会涉及到不同类型的查询,如循环遍历文章数据。 4. **内容管理** - **文章类型**:WordPress不仅支持标准的“帖子”和“页面”,还可以...
其中可能涉及的关键PHP函数有`add_action`,用于绑定`wp_ajax_{function_name}`钩子,`wp_send_json_success`或`wp_send_json_error`用来向前端返回Ajax响应,以及WordPress的数据库操作函数,如`$wpdb->query`用于...
本文将详细介绍如何使用WordPress的WP_Query类来实现这些功能。 首先,我们关注作者查询。WordPress提供了四个参数来筛选与特定作者相关联的文章: 1. **author**(整数):通过用户ID获取作者的文章,例如`$query...
- 熟悉PHP函数库,如WP_Query、wp_enqueue_script和wp_register_style,是开发WordPress插件的关键。 3. **GitHub与版本控制**: - GitHub是一个基于Git的版本控制系统,用于托管源代码,便于协作和版本管理。 -...
WP查询生成器WP Query Builder是基于wpdb的WordPress轻巧高效...有论点$ query = \ PluginEver \ QueryBuilder \ Query :: init ( 'query_users' );选择这将构建查询,执行并自动使用用户表前缀从用户表中返回所有用户