fatal error cannot redeclare classの意味
同じ関数を複数回初期化して呼ぼうとした
考えられるエラーの原因
ワードプレスでこのエラーが発生した場合の原因は、子テーマの作成で本体テーマと2重に関数を定義したり、ワードプレスのアップデートの不全、プラグインのインストール等により、同じ関数が複数の場所に混在してしまう場合に起ります
エラーの対処方法・修正方法
子テーマの作成で本体テーマと2重に関数を定義しているのを解決する
エラーコードのFatal error: Cannot redeclare XXX()の部分をみて、該当の関数を特定します。その関数が子テーマやプラグインで再度定義されている場合、その記述を消して再定義をなくすか、
if (!function_exists(‘XXX’)) {}
で囲み、関数が定義されていない場合にのみ関数を定義するようにします。ただこの対処方法は同じ機能でかつ同じ名前の関数である場合にのみ有効です(同じ名前の関数で違う機能の関数の場合、修正した方のコードでエラーが出る事があります)
一方の関数の名前を変える
どちらか一方の関数の名前を変えるという対処方法もあります。ただこの場合は、関数本体(Function aaa())の方だけでなく、その呼び出し元も全て書き換える必要があります(テーマや、プラグイン単位)。
ワードプレスのアップデートの不全を解決する
wordpressの本家より再度ワードプレスをダウンロードし、wp-contentフォルダ以外の全てのコードを上書きします。*データベースと本体データのバックアップを必ず行いましょう