我的Wordpress网站上遇到了一个问题,我跟踪了admin_init被调用了两次。
我尝试停用所有插件,问题就消失了。然后我恢复了每个插件,发现哪一个导致了问题。
我的问题是,如何找到额外admin_init调用的原因?
这个插件是对网站的定制,所以我不能简单地用一个不同的插件替换它(大量模糊)我自己混淆了。
这是我在对这个问题进行一些研究后到目前为止所得到的......
我已经补充道
remove_filter("wp_head", "adjacent_posts_rel_link_wp_head",10);
到functions.php文件(虽然这可能只会停止" init"挂钩被调用两次,而不是" admin_init")?
我设置了一个函数,每次调用admin_init时都会向我发送一封电子邮件。在生成电子邮件的同时,我向其添加了以下代码:
$backtrace = print_r(debug_backtrace(), true);
然后将$ backtrace添加到电子邮件文本中。
我收到的第一封电子邮件的完整回溯显示了导致来自" admin-ajax.php"的admin_init调用的所有功能。第二个admin_init通话电子邮件根本没有任何回溯信息?
我还读到,对网站(或其他包含)返回404错误的图像可能会导致多次调用init(可能是admin_init挂钩)。
我右键单击了"检查了元素"在页面上打开Firebug窗口并查看选项卡,但我不能100%确定如何检查这一点。我没有看到任何奇怪的东西或404在任何标签下,但如果有人可以澄清检查程序,我将能够重新检查确定。
那么......关于我为什么要获得额外的admin_init电话以及我可以在软件中检查以查看其生成位置的任何其他想法?
感谢。
答案 0 :(得分:0)
我已经设法解决了这个问题。
我在wp-config.php中设置了以下内容:
error_reporting(E_ALL); ini_set('display_errors', 1);
这开启了严格的故障报告。
我的网站立即充斥着关于问题的通知。
我系统地检查了每一个,然后我的原始问题也消失了。
我不确定确切的修复方法,但无论如何这可能都是网站的特定内容,所以我想发布此文章,以防将来帮助其他人。