WordPress 6.0 改进了 do_parse_request 过滤器,可以实现跳过没有必要的文章请求
WordPress 实现 可以 请求 没有 文章 改进 必要
2023-06-13 09:18:29 时间
在 WordPress 6.0 之前的版本,插件和主题开发者可以通过 do_parse_request
filter 来更改请求实现在非常早的时候就渲染自定义页面。
但是该方法一直存在一个问题,就是 WordPress 主循环的文章查询和 404 查找还是会继续运行,这样就导致了在这些自定义页面渲染的时候依旧运行一些没有必要的 SQL 查询。
6.0 的改进
WordPress 6.0 为 WP 类的 parse_request
方法添加了一个返回值,默认是返回 true,但是可以通过 do_parse_request
filter 将其修改为 false,这样就可以跳过上面提到的不必要的文章查询和 404 查找。
WordPress 官方建议,如果使用 do_parse_request
实现自定义页面,建议将它的返回值设置为 false。
具体实例
最简单的方法就是:
add_filter( 'do_parse_request', '__return_false' );
但是一般来说,要判断一下是否含有进入自定义页面的参数,有才返回 false:
add_filter( 'do_parse_request', function( $do_parse, $wp, $extra_query_vars ){
if ( 'CUSTOM_VALUE' === $extra_query_vars['custom_arg'] ) {
return false;
}
return $do_parse;
}, 10, 3 );
WPJAM Basic 的自定义页面路由的处理,下一版我也将通过该方法来时来改进优化,进一步提高效率。
相关文章
- wordpress免插件实现TAG Category自动添加链接
- wordpress优化经历(三)——自助友链申请实现
- wordpress 使用 WP_Query 实现最新n条文章
- wordpress 自定义字段使用---实现推荐文章
- 强化 WordPress 的 11 种有效方法
- wordpress美化登录界面Wordpress博客 2 年前 桃李Taoli
- 谁不想要一个自己的博客网站呢 - 搭建博客网站wordpress
- 彻底解决wordpress安装主题或插件需要FTP问题
- WordPress 博客网站设置圣诞节雪花效果的实现方法
- 只需加多一个属性就能实现 WordPress 后台表单折叠展开效果
- 在 WordPress 中实现 PHP 版本的 wrap 函数
- 大家可以测试 WordPress SQLite 实现了
- 使用 WordPress 做纯后端和管理界面,实现前后端分离
- WordPress 内置的序列化处理相关函数大全
- 改进 WordPress 文章样式,实现一键复制到微信公众号无需修改即可发布
- 在 WordPress 中使用 Memcached CAS 乐观锁
- WordPress 版本的生命周期
- WordPress 如何使用 UTF-8 字符集
- WordPress 技巧:如何修改自定义日志类型的固定链接
- WordPress 插件:“即将推出” Widget
- Nginx下Wordpress的永久链接实现(301,404等)