前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress 4.3 产生大量定时作业修复方法

WordPress 4.3 产生大量定时作业修复方法

作者头像
Denis
发布2023-04-15 10:30:09
3850
发布2023-04-15 10:30:09
举报
文章被收录于专栏:WordPress果酱WordPress果酱

升级到 WordPress 4.3 之后,这几天发现系统有点慢,打开定时作业,发现有大量的 hook 名为时间戳的定时作业,经过 debug,发现是 _wp_check_for_scheduled_split_terms 这个函数生成的,他的源代码是:

代码语言:javascript
复制
function _wp_check_for_scheduled_split_terms() {
	if ( ! get_option( 'finished_splitting_shared_terms' ) && ! wp_next_scheduled( 'wp_batch_split_terms' ) ) {
		wp_schedule_single_event( 'wp_batch_split_terms', time() + MINUTE_IN_SECONDS );
	}
}

这个定时作业的意思是,定期的把 shared terms 分离。wp_schedule_single_event 的第一个参数是 timestamp, 第二个才是 hook,这段代码竟然写反了,然后就产生了一大堆定时作业,使得正常的定时作业都无法工作了。

所以要让这个函数不要跑,经过搜索发现:

代码语言:javascript
复制
add_action( 'admin_init',        '_wp_check_for_scheduled_split_terms' );

_wp_check_for_scheduled_split_terms 这个函数是 admin_init 调用的,只要 remove_action 就好了。

所以最终的解决方案是:

在当前主题的 functions.php 文件中添加如下代码:

代码语言:javascript
复制
remove_action( 'admin_init',        '_wp_check_for_scheduled_split_terms' );

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档