web-dev-qa-db-ja.com

WordPress Appearance→エディタにアクセスできない

私はWordPress管理者パネルを使って私のウェブサイトのPHPファイルのいくつかの機能を変更しました:

AppearanceEditor

今私のウェブサイトだけでなく、WordPressのダッシュボードも破壊されました。 AppearanceEditor、またはPagesAll Pagesのように、Webサイトの編集を許可するものにアクセスすることはできません。

ダッシュボードエディタのページにアクセスしようとしたときに表示されるエラーは以下のとおりです(私のWebサイトのフロントエンドURLをブラウザに入力したときにも同じエラーが表示されます)。

Fatal error: Cannot redeclare twentyseventeen_widget_tag_cloud_args()

注:WordPressバックエンドのAppearanceEditorを使用して編集しているため、変更したPHPファイルにもアクセスできません。

1
pho_pho

それがなぜ起こったのか:

WordPressバックエンドエディタはWordPress自体の上で動作するため、PHPファイル内で致命的なエラーが発生した場合、バックエンド管理パネルでもエラーが発生します。その時点で、エラーを修正するまでバックエンドエディタにアクセスできなくなります。

そのエラーは何ですか:

PHPが次のようなエラーを報告しているのがわかります。

致命的なエラー:some_function_name()を再宣言できません

これは、上記の関数がすでに宣言されていて、同じ名前の関数をもう一度作成したことを意味します。 PHPは、同じスコープ内で同じ関数名を複数回持つことはできません。

あなたのケースでは、おそらくTwenty Seventeenテーマのfunctions.phpファイルにすでに存在していたtwentyseventeen_widget_tag_cloud_args()という名前の新しいテーマ関数を作成したでしょう。

それを解決する方法:

これでWordPressのバックエンドからPHPにアクセスすることはできません(その理由は上で説明したとおりです)が、FTP(またはWebホストに問い合わせる)またはCPanel(またはその他)からPHPファイルにアクセスできます。あなたのWebホスティング会社によって提供されるそのようなコントロールパネル)。

他の方法でPHPファイルにアクセスできるようになったら、新しく作成したtwentyseventeen_widget_tag_cloud_args()という名前の関数を削除(または名前変更)してファイルを保存する必要があります。

注: Mat で既に示唆されているように、WordPressバックエンドエディタからPHPファイルを編集することはお勧めできません。代わりに、FTP(できればFTPSまたはSFTP)またはWebサーバーからの代替ファイル編集方法を使用してください。

1
Fayaz

これこそまさにあなたがWordPress Appearance - > Editor を使うべきではない理由です。

あなたのウェブサイトは「破壊」されていません。単にあなたのWebホスティングコントロールパネルにログインして、あなたが入力したどんなコードも削除するためにファイルマネージャを使用する(twentyseventeen_widget_tag_cloud_args()関数への呼び出し、またはあなたのファイルを編集するためにFTPクライアントを使用して関数呼び出しを削除する)。

0
Mat