Ping已禁用,但WordPress仍在搜索“to_ping”

时间:2017-05-10 作者:Michael VanDeMar

我有一个客户的网站,其中有超过20万个帖子,我正在尽我所能优化它。目前,在“设置->讨论”页面下,“尝试通知文章中链接到的任何博客”和“允许其他博客(pingback和trackback)在新文章上的链接通知”都未选中,但我仍然在慢速查询日志中看到这一点(从wp cron.php调用):

# Query_time: 43.475373  Lock_time: 0.000056  Rows_sent: 0  Rows_examined: 227718  Rows_affected: 0
# Bytes_sent: 81
SET timestamp=1494303060;
SELECT ID FROM wp_posts WHERE to_ping <> \'\' AND post_status = \'publish\' 
我有没有办法在全球范围内解决这个问题?主题中是否有我可以覆盖的钩子?

1 个回复
SO网友:Michael VanDeMar

显然,我在寻找的是一个设置“do\\u ping”的钩子,而在主题和插件中却没有。我的猜测是,它是通过旧主题或插件设置的,并且在删除时没有取消设置。但是,我确实发现,无论它来自何处,此函数都会全局取消设置它,并防止它被重新设置:

if (isset($_GET[\'doing_wp_cron\'])) {
    remove_action(\'do_pings\', \'do_all_pings\');
    wp_clear_scheduled_hook(\'do_pings\');
}
感谢此网站提供的解决方案:

https://wp-mix.com/wordpress-clean-up-do_pings/

结束