[WordPress] Fatal error:Can not redeclareエラー

Last Updated:2023年07月16日| | コメントを残す

概要

WordPressプラグインやテーマ、あるいは WordPress コアアップデート後、次のように」Fatal error: Cannot redeclare..."エラーが発生した場合:

Fatal error: Cannot redeclare nicdark_add_autocomplete_js() (previously declared in ...

このようなエラーが表示される理由でプラグインやテーマ、あるいは WordPress コアとテーマやプラグインとの衝突で発生する場合があります。

トラブルシューティング

エラーメッセージをそのまま解釈ザラザラ関数が重複して宣言(再宣言)されたことを意味します。 したがって、重複された関数を探して名前を変えように修正してくれるのも解決する一つの方法になると思われる。

あるいは、次のように if(!function_exists(...))を使用して、関数が重複し実行されないように措置する方法も考えられます(ここ を参照)。 function_exists 関数は、 ここを参照してください。

if(!function_exists('nicdark_add_autocomplete_js')){
function nicdark_add_autocomplete_js() {
echo '
<script type="text/javascript">
/* <![CDATA[ */

jQuery(document).ready(function(){
jQuery("#nicdark_autocomplete").autocomplete({ source: availablePackages });
});

/* ]]> */
</script>
';

}
}

他にもハッキングが原因でこのような問題が発生する場合もあるね(参照)。 もしプラグインを更新した後、このような問題が発生した場合、プラグインを以前のバージョンに戻したり(下記参照)のプラグインが再び更新されるまで待つことができます。

プラグインのバージョンを以前のバージョンに戻す

プラグインを更新した後に問題が発生した場合、以前のバージョンのプラグインをダウンロードして、プラグインのバージョンを以前のバージョンに戻すことができます。

例えば、 WordPress ショッピングモールプラグイン WooCommerceのバージョンをダウングレード(旧バージョンに下げること)する方法を見てみると、

まず、 WooCommerce プラグインサイトを訪問し(https://wordpressorgの/plugins/woocommerce/)。 メニューの中から 開発者 メニューをクリックします。

WooCommerce WordPress - WordPress WooCommerce プラグインのダウングレード

表示される画面で「Other Versions「部分を見ると、以前のバージョンが表示されます。

WordPress WooCommerce バージョン下げる

必要なバージョンをダウンロードして、FTP経由で / WP-コンテンツ/plugins/ フォルダの下の適切なプラグインフォルダに上書きすると、プラグインのバージョンを以前のバージョンに下げることができます。 (FTPの使い方は WordPressでのCSSを追加する5。 FTPを使用して、CSSファイルの編集 のセクションを参照してください。)

メモ:


コメントを残す

コメント