不利用这些功能性的代码将会使一些简单的任务变得缓慢,例如获取帖子(posts)。本文详细介绍了四种合理的解决方案,它们解决了缓慢的WordPress性能背后的一些潜在问题。...获取帖子(Fetching Posts) WordPress提供从数据库中获取任何类型的帖子(post)的方法。...例如,如果我们想要在获取帖子( 比如内部的 footer.php)之后某个的某个时间点确定我们正在处理什么样的页面,这时可能就是一个问题。...这可能会导致不一致,特别是如果我们在代码中使用查询相关的过滤器,因为你在页面中不期望的帖子可能会被该函数返回。 使用WP_Query类 在我看来,这是从数据库中检索帖子的最佳方式。...WordPress允许我们将-1表示为该参数的合理值,在这种情况下,系统将尝试获取满足定义条件的所有帖子。 这不是一个好的做法,即使我们确信我们只会得到一些结果作为回应。
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...title – 按文章标题排序 name – 按文章名称排序,即 URL别名。 type – 按文章类型排序。 date – 按文章发布日期排序。 modified – 按文章修改日期排序。...args ); 获取按照价格自定义字段排序的商品: $args = array( 'post_type' => 'product', 'orderby' => 'meta_value_num...( $args ); 获取 my_custom_post_type 的文章,按照数字自定义字段 age 排序,并通过 meta_query 过滤数据只显示 age 为:3-4 的数据 $args = array
首先,这是一个演示该漏洞的快速视频: 漏洞 该漏洞发生在 WordPress Query ( WP_Query ) 类中。WP_Query对象用于对 WordPress 数据库执行自定义查询。...插件和主题使用此对象来创建他们的自定义帖子显示。 当插件使用易受攻击的类时,就会出现该漏洞。一个这样的插件是Elementor Custom Skin 。...(){ global $wp_query; ......get_document_data方法创建一个WP_Query对象。...* @param WP_Query $query The WP_Query instance. */ $this->request = apply_filters( 'posts_request_ids
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...获取2012年12月12号的文章: $query = new WP_Query( 'year=2012&monthnum=12&day=12' ); 使用 date_query 的话: $args =...( $args ); 获取这个星期的文章: $week = date( 'W' ); $year = date( 'Y' ); $query = new WP_Query( 'year=' ....获取一年前发布并且上个月修改过的文章,使用嵌套的 date_query 查询: $args = array( 'date_query' => array( array(
中比较重要的一个概念: WP_Query是定义于 wp-includes/query.php 中的一个用于处理复杂的请求wordpress博客中文章或页面的类。...WP_Query是wordpress提供的一个类,它支持的参数和方法非常丰富,通过各种给组合查询参数,几乎所有的文章查询都可以通过这个类实现。...Display Posts这个插件其实是对WP_Query 类做的一层高级封装,让用户可以不必手写复杂的WP_Query查询就可以得到想要的过滤结果。...Code Embed:在WordPress文章和页面中添加Javascript的最佳插件 2019年WordPress流行趋势预测 8个用于设计漂亮表格的WordPress插件 WordPress 精品插件大全页面的开发小记...对结果进行排序 ---- 2019年WordPress流行趋势预测 8个用于设计漂亮表格的WordPress插件 Code Embed:在WordPress文章和页面中添加Javascript的最佳插件
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...第一讲,把 WP_Query 最常用的分类,标签和分类模的所有相关的参数讲解一下,例子也是来自官方文档,学完之后,你可以在 WordPress 进行非常复杂的多重筛选。...获取含有几个分类(只要含有一个)的文章(注意这些分类的子分类单独关联的文章不会获取): $query = new WP_Query( array( 'category__in' => array( 2...使用标签别名获取含有某个标签的文章: $query = new WP_Query( array( 'tag' => 'cooking' ) ); 使用标签 ID 获取含有某个标签的文章: $query
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...使用作者 ID 获取某个作者的文章: $query = new WP_Query( array( 'author' => 123 ) ); 使用作者 'user_nicename' 获取某个作者的文章:...$query = new WP_Query( array( 'author_name' => 'denis' ) ); 使用作者 ID 获取某一批作者的文章: $query = new WP_Query...) ); 使用作者 ID 获取排除某一批作者的文章: $query = new WP_Query( array( 'author__not_in' => array( 2, 6 ) ) );
Query_posts语句是WordPress最实用的语句之一。 正是在query_posts的作用下,WordPress的Loop循环才能够调用并显示所有文章内容。...关于日志顺序 默认情况下WordPress日志是按日期顺序排列的,这也是大多数人的需求,不过如果能更改默认的排列顺序那就更好了。 例如你可以随意调用几篇日志,让它们显示在侧边栏。...WordPress 2.9引入了以评论的数量多寡给文章排序的功能,这样就可以更方便地向访客显示最受欢迎的文章….不过这里为了使用query_posts,我们假设一下不使用WordPress的这个功能。...你可以按文章类型调用自己想要的日志、页面或附件。 对附件的调用可能是最有趣但同时被使用频率也是最低的一个。...> 要忽略置顶文章——让所有文章按正常排序方式显示: <?
自定义调用文章在网站建设中很常用,wordpress也很人性化,用新建查询new WP_Query就能实现相关功能。WP_Query怎么用呢?...随ytkah一起来看看吧 我们知道wordpress的主循环 两段代码是等效的,为了保持代码的简洁性,WordPress 隐藏了全局的主循环变量 $wp_query。 WP_Query最基础用法 <?...php /** * WordPress 查询综合参考 * * 官方文档: http://codex.wordpress.org/Class_Reference/WP_Query * 源代码: http:...2012, //(int) - 4 个数字的年份 (如:2011) 'monthnum' => 3, //(int) - 月份数字 (从 1 到 12) 'w' => 25, //(int) - 一年中的第几周
wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要的内容,相当于自定义数据调用。 wordpress的主循环 两段代码是等效的,为了保持代码的简洁性,WordPress 隐藏了全局的主循环变量 $wp_query。 WP_Query最基础用法 WP_Query 这个万能的文章查询类,有人把 WP_Query 所有的参数做了一个总结,方便后期开发查阅. <?...php /** * WordPress 查询综合参考 * * 官方文档: http://codex.wordpress.org/Class_Reference/WP_Query * 源代码: http:...2012, //(int) - 4 个数字的年份 (如:2011) 'monthnum' => 3, //(int) - 月份数字 (从 1 到 12) 'w' => 25, //(int) - 一年中的第几周
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...第11讲关于搜索和评论的参数: 搜索参数 搜索参数可以根据关键字搜索获取文章。 s (string) – 搜索关键词。...评论参数 可以根据评论数来获取文章,支持数字和数组: comment_count (int) – 获取评论数必须是该数字的文章,相当于下面比较参数为:=。
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...'自定义文章类型' - 如何 product 产品 只获取页面: $query = new WP_Query( array( 'post_type' => 'page' ) ); 获取任何类型的文章(除了文章修订和除了文章类型的...'exclude_from_search' 的属性为 true 的所有文章类型): $query = new WP_Query( array( 'post_type' => 'any' ) ); 获取多个文章类型的文章
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...默认值是 'publish',就是获取公开状态的文章,如果用户在已登录的情况下,'private' 状态的文章也会被获取到,另外默认情况下公开属性的自定义文章状态的文章也会获取到。...只显示草稿状态的文章: $query = new WP_Query( array( 'post_status' => 'draft' ) ); 显示多个状态的文章: $query = new WP_Query
WP_Query 是 WordPress 中最重要的 class,几乎每个页面都是用它来获取文章,但是它最大的问题是,对文章进行查询的时候是直接到数据库查询的,结果没有被缓存起来,所以真正实现站点的 0SQL...比如使用 wp_insert_post 函数将文章添加到数据库,这些函数会自动去清理缓存,这样下次使用 WP_Query 获取文章时候,就能获取是包含了新增的或者更新之后的数据。...WP_Query 初始化所有作者数据 在 6.1 之前,主循环会同时加载作者信息,所以具有多个作者的站点需要执行多次数据库查询来分别获取作者的信息,现在 WordPress 6.1 引入了一个新函数 update_post_author_caches...查询(一条是关于 posts,一条是关于 terms)就让 WP_Query 获取菜单信息。...get_page_by_title 直接使用 WP_Query get_page_by_title 函数在 6.1 版本也改用 WP_Query 来获取数据,之前,该函数直接使用 SQL 查询来实现通过标题获取页面
如果懂代码,WordPress 的 WP_Query 支持 category__in 和 category__not_in 这两个参数,使用 pee_get_posts hook 处理一下就好了。...---- 「WordPress果酱」知识星球福利插件基于 WPJAM Basic 开发,加入「WordPress果酱」知识星球,即可下载: 插件 简介 抓取公众号图文 一键抓取公众号文章到 WordPress...博客 支持一键将文章中图片下载到 WordPress 媒体库 搜索优化 支持限制和关闭搜索的 WordPress 插件 编辑器优化 优化 WordPress 传统的 TinyMCE 编辑器 添加下划线等按钮...并且在后台分类管理界面可以按层级显示和拖动排序。 评论增强 支持评论点赞,评论置顶和按照点赞数排序。 图片集 1. 给媒体创建个分类「图片集 | collection」 2....站点选项 查看和管理所有非 WordPress 系统自动生成的站点选项。 如果你觉得某个选项无用,可以直接删除它。 后台论坛 WordPress 后台论坛,支持创建帖子,分组,消息。
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...( $args ); 缓存参数 用于设置停用将获取到的文章存到缓存中,对应的参数有三个: cache_results (boolean) – 缓存文章信息. update_post_meta_cache...( $args ); 一般来说,这些缓存相关的参数不会特别用到,添加到缓存是才是正确的做法,但是在一些特定的情况下可能很有用,比如需要获取一组文章的标题和链接,而无需其他的信息,也不需要 post meta
'wp-load.php'); 引入 WordPress 核心代码,然后执行 WP_Query 获取特定的日志,然后就发生下面的错误: Fatal error: Call to a member function...get() on a non-object in [path to site]\site\wp-includes\query.php on line 27 这是因为全局变量不正确使用引起的问题,默认 wp_query...是在 wp-setting.php 中定义的,因为是定义在最外层,所以 wp_query 自然就是一个全局的变量。...'wp-load.php'); 引入 WordPress 核心代码,wp_query 反而变成这个函数中的本地变量,所以其他代码调用 wp_query 的时候,就发生了错误。...'wp-load.php'); 代码上面加入以下代码,预先将 $wp_query 定义为全局变量: define('WP_USE_THEMES', false); global $wp, $wp_query
WordPress 6.1 的时候通过提高 WP_Query 查询性能真正实现站点 0 SQL,现在 WordPress 6.2 将性能要求做到更加极致,将弃用 get_page_by_title()...函数,建议开发者直接使用 WP_Query 根据标题获取页面。...两点原因: get_page_by_title() 函数是直接使用数据库查询获取页面的,可能由于数据库版本或者引擎不同,而造成返回的数据会有可能不同,切换到使用 WP_Query 获取数据则可确保得到相同的结果...WordPress 6.1 的时候提高了 WP_Query 性能,实现了缓存,所以开发者直接使用 WP_Query 去根据标题获取页面则效率更高。该函数就没有必要了。...那么怎么使用 WP_Query 来实现根据标题获取页面呢: $query = new WP_Query( array( 'post_type' => '
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...简单自定义字段查询 获取自定义字段的 key 是 'color',而 value 则任意值都可的文章: $query = new WP_Query( array( 'meta_key' => 'color...' ) ); 获取自定义字段的 value 是 'blue',而 key 则任意值都可的文章: $query = new WP_Query( array( 'meta_value' => 'blue'...' => 'page' ); $query = new WP_Query( $args ); 获取自定义字段的 key 是 'color' 并且 value 是 'blue' 的文章: $args =
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...获取 gif 图片 特别注意一下文章状态是 inherit....( $args ); 获取不是图片的附件 要排除某些 mime 类型,首先需要使用 get_allowed_mime_types() 函数获取所有的 mime 类型,然后使用 array_diff()
领取专属 10元无门槛券
手把手带您无忧上云