这个Cannot modify header
错误实际上是由第一个错误引起的,因为错误是在调用标头的页面上打印的,因此在这之后出现的任何试图修改标头的代码都将生成Cannot modify header
错误
至于Undefined index: action
错误,显然主题作者假设action
superglobal的参数$_GET
将始终设置在贴子页面上(即URL应具有...post.php?action=something
在大多数情况下,这似乎都是正确的,但聪明的程序员总是会做好最坏的准备,并检查变量的存在(尽管知道出现此错误时显示的完整URL会很有趣)。
为了避免这种情况,他们需要使用isset($_GET[\'action\'])
(或者array_key_exists(\'action\', $_GET
), 在上执行相同的操作$_GET[\'post\']
, 还假设始终设置,因此if
情况如下:
// ...
if ( \'post.php\' === $pagenow && isset($_GET[\'action\']) && \'edit\' === $_GET[\'action\'] && isset($_GET[\'post\']) && is_numeric($_GET[\'post\'])) {
// ...
}
有几种方法可以引入此解决方案:
建议与主题所有者联系,让他们解决这个问题。在等待的时候,你也可以做。。。
如果您决定更新原始主题,然后又想升级主题,请做好再次升级的准备。
或者,您可以删除该功能(remove_action
) 在您的functions.php
在您的子主题中(假设您正在使用一个主题),并添加正确的主题以使用中使用的相同挂钩替换它add_action
原始主题(在本例中为\'bedford_cmb1_to_cmb2_post_meta\'
).