5

今日ワードプレスを最新に更新したときに、この致命的なエラーが発生しました。BarelyCorporateテーマを使用しています。126行目はコードの最後の行です。これが何であるか誰かにアイデアがありますか?テーマにはレスポンシブデザインがあります。

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

致命的なエラー:/ home / chilinbk / public_html / kunde / tkh / wp-includes / varsでwp_is_mobile()(以前は/home/chilinbk/public_html/kunde/tkh/wp-includes/vars.php:107で宣言されていました)を再宣言できません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;

}

4

4 に答える 4

4

とった!

wp-content \ plugins \ sitepress-multilingual-cms \ sitepress.phpには、次の行があります

if ( function_exists('is_multisite') && is_multisite() ) {
    include_once( ABSPATH . WPINC . '/vars.php' );
}

この行には、関数wp_is_mobile()が宣言されているファイル/wp-includes/vars.phpが含まれています。次に、WordPressはこのvars.phpファイルを再度インクルードし、論理エラーを生成します。

WP 3.4リリース以前は、vars.phpに関数がなかったため、目に見える問題はありませんでした。しかし、今はあります。

wpmlはすでにWordPressに含まれているので、このファイルを含める必要はないと思います。

したがって、バイパスは次のようになります。「wp-content \ plugins \ sitepress-multilingual-cms \sitepress.php」の21〜24行目のコメント

WPMLが次のプラグインリリースでより適切に修正できることを願っています。

于 2012-06-22T11:51:57.743 に答える
2

あなたのテーマのコードを見ることができないので、次functions.phpのような関数宣言が含まれていると思います:

function wp_is_mobile() {
   // ... the code
}

したがって、次のように関数をラップする必要があります。

if (function_exists('wp_is_mobile')) {
    function wp_is_mobile() {
       // ... the code
    }
}

それか、単にテーマの重複を取り除いて、3.4 のバージョンを使用してください。

あなたのテーマプロバイダーがそのテーマを更新すると思いますが、そのような競合は厄介です。これが、テーマ開発者が関数の前に独自のものを付けることを推奨する理由です。すべてに接頭辞を付けます

于 2012-06-15T06:59:54.363 に答える
1

テーマではないかもしれません。私の場合はWPMLプラグインでしたが、コアWPファイルの変更が理想的でなくても、関数のラッピングはうまくいきました...

上記の提案をありがとう!

于 2012-06-15T16:40:02.900 に答える
1

WPMLプラグイン2.5.1をWP 3.4にインストールすると同じ問題が発生したため、関数をラップしてそのエラーを取り除き、別のエラーが発生しました。

致命的なエラー: 1606 行目の /home/MY_USERNAME/public_html/wp-includes/theme.php の未定義関数 wp_is_mobile() の呼び出し

次に何をすればいいのかわからない?

------回避策を見つけた---------

WP マルチサイト インストールでスーパー管理者として WPML プラグインをネットワーク アクティブ化しない限り、エラーは発生しません。それらを個別にアクティブにします。

ネットワークのアクティブ化が機能する場合は、まだいいでしょう。WPML はマルチサイト互換性があると言っています: http://wpml.org/documentation/support/multisite-support/

于 2012-06-21T17:47:58.313 に答える