当我今天将wordpress更新到最新版时,我遇到了这个致命的错误。我使用Barely Corporate主题。 第126行是代码中的最后一行。有谁知道这是什么?主题确实有响应式设计。
致命错误:无法重新声明/ home / chilinbk / public_html / kunde / tkh / wp-中的wp_is_mobile()(之前在/home/chilinbk/public_html/kunde/tkh/wp-includes/vars.php:107中声明)在第126行包含/ vars.php
if ( isset($is_mobile) )
return $is_mobile;
if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
$is_mobile = false;
} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false ) {
$is_mobile = true;
} else {
$is_mobile = false;
}
return $is_mobile;
}
答案 0 :(得分:4)
知道了!
在wp-content \ plugins \ sitepress-multilingual-cms \ sitepress.php中,有以下几行
if ( function_exists('is_multisite') && is_multisite() ) {
include_once( ABSPATH . WPINC . '/vars.php' );
}
这一行包括文件/wp-includes/vars.php,其中声明了函数wp_is_mobile()。 然后WordPress再次包含此vars.php文件并产生逻辑错误。
在WP 3.4发布之前没有明显的问题,因为vars.php中没有函数。但现在有。
我认为wpml不需要包含此文件,因为它已经包含在WordPress中。
所以旁路可以是:在" wp-content \ plugins \ sitepress-multilingual-cms \ sitepress.php"
中注释第21-24行希望WPML可以在下一个插件版本中更加明确地修复它。
答案 1 :(得分:2)
无法看到主题的代码,我猜你的functions.php
包含这样的函数声明:
function wp_is_mobile() {
// ... the code
}
所以你需要做的就是包装那个函数,如下所示:
if (function_exists('wp_is_mobile')) {
function wp_is_mobile() {
// ... the code
}
}
或者直接删除主题中的副本并使用3.4中的版本。
我猜你的主题提供者会更新那个主题,那种冲突是令人讨厌的。这就是为什么主题开发人员鼓励为他们的功能添加一些独特的东西。 Prefix everything
答案 2 :(得分:1)
它可能不是主题。在我的情况下是WPML插件,但功能包装完成了工作,即使修改核心WP文件不理想...
感谢上面的建议!
答案 3 :(得分:1)
一旦我在WP 3.4上安装了WPML插件2.5.1,我遇到了同样的问题,所以我包装了该函数,并且摆脱了该错误,然后又出现了另一个错误。
致命错误:在第1606行的/home/MY_USERNAME/public_html/wp-includes/theme.php中调用未定义的函数wp_is_mobile()
我不知道下一步该做什么?
--------找到了一个工作---------
只要您不在WP多站点安装上以超级管理员的身份激活WPML插件,我就不会收到错误。独立激活它们。
如果网络激活可行,那仍然会很好。 WPML表示它是多站点兼容的:http://wpml.org/documentation/support/multisite-support/