函数.php被包含两次,从而产生了致命的PHP错误

时间:2017-01-17 作者:Mark Kanning

我有一个定制的PHP脚本(通过wp load.PHP导入Wordpress),过去我在许多网站上都成功使用过,但在一个特定的网站上,它似乎在Wordpress进行了几次更新(当前版本为4.7.1)后出现了问题。

情况如下:

PHP脚本,需要加载wp。php,通过javascript调用以处理表单数据

PHP致命错误:无法在/path/to/site/wp-content/themes/uc/functions.PHP:15)中重新声明my\\u wp\\u nav\\u menu\\u args()。php在线18

该错误似乎表明功能正常。php被调用了两次。为了测试这一点,我注释掉了函数中的所有函数。php,瞧,我的php脚本工作得很好。

尽管如此,网站的其余部分工作正常。。。虽然它的加载速度非常慢,而且我正在本地机器上运行它。嗯,嗯。

仅供参考,网站的其他部分真的没有什么特别或不寻常之处。我用ACF做很多东西,但从来没有遇到过问题。

这是真的吗。php不知何故被调用了两次?如果是,如何?是否有其他人对最近的WP核心更新有类似的问题?玛丽·贝思和维克多会找到真爱吗?

在下一集的“烧钱的Wordpress方式”中了解所有这些以及更多信息

任何帮助都将不胜感激。

2 个回复
SO网友:Mark Kanning

啊,老天爷:第一个例行程序就是检查你所有的插件,这会节省我一些时间。

显然是第三方ACF插件,https://wordpress.org/plugins/acf-google-font-selector-field/, 是问题的原因。我提到的页面加载缓慢也得到了纠正。

那太糟糕了。我需要那个愚蠢的插件。

SO网友:T.Todua

1) 我认为应该解决这个问题,如果在自定义php脚本中,您可以exit; 执行所需操作后。

2) 此外,您可以在函数的开头使用类似的内容。php:

if (in_array(__FILE__, get_included_files())) return;

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请