致命错误:无法重新声明wp_is_mobile()

and*_*rrs 5 wordpress fatal-error

今天我将wordpress更新到Newest时遇到了这个致命的错误.我使用Barely Corporate主题.第126行是代码中的最后一行.有谁知道这是什么?主题确实有响应式设计.

http://themeforest.net/item/barely-corporate-responsive-wordpress-theme/93069?WT.ac=search_item&WT.seg_1=search_item&WT.z_author=ThemeBlvd

致命错误:不能重新声明在/ home wp_is_mobile()(以前在/home/chilinbk/public_html/kunde/tkh/wp-includes/vars.php:107申报)/ chilinbk /的public_html /昆德/ TKH/WP-包括/瓦尔第126行的.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;
Run Code Online (Sandbox Code Playgroud)

}

art*_*ung 2

由于无法看到您主题的代码,我猜测您functions.php包含如下函数声明:

function wp_is_mobile() {
   // ... the code
}
Run Code Online (Sandbox Code Playgroud)

因此,您需要做的就是包装该函数,如下所示:

if (function_exists('wp_is_mobile')) {
    function wp_is_mobile() {
       // ... the code
    }
}
Run Code Online (Sandbox Code Playgroud)

或者直接删除主题中的重复项并使用 3.4 中的版本。

我猜你的主题提供商会更新该主题,这种冲突是令人讨厌的。这就是为什么鼓励主题开发人员在他们的函数中添加一些独特的前缀。给所有东西加上前缀