WordPressには組み込みのテーマエディターとプラグインエディターが付属していることをご存知でしたか?このプレーンなコードエディターを使用すると、WordPressダッシュボードから直接テーマファイルやプラグインファイルを編集できます。
これは非常に役立つように聞こえるかもしれませんが、このようにファイルを直接編集できる機能を解放すると、サイトが破損するなどの問題が発生する可能性があることがわかっています。他の脆弱性と組み合わせると、潜在的なセキュリティ上の問題を引き起こす可能性さえあります。
この記事では、WordPress管理エリアからテーマとプラグインエディターを無効にする方法を示し、それが賢明なアイデアである理由を説明します。

WordPressでテーマとプラグインエディターを無効にする理由
WordPressには、管理エリアから直接WordPressのテーマやプラグインファイルを編集できる、組み込みのコードエディターが付属しています。
テーマエディターは、外観 » テーマファイルエディターページにあります。デフォルトでは、現在アクティブなテーマのファイルが表示されます。

同様に、プラグインエディターは プラグイン » プラグインファイルエディター ページで確認できます。デフォルトでは、サイトにインストールされているプラグインのうち、アルファベット順で最初に来るものが表示されます。

テーマまたはプラグインエディターページを初めて訪れると、WordPressはエディターの使用がウェブサイトを破損する可能性があるという警告を表示します。

WordPress 4.9では、テーマとプラグインのエディタがアップグレードされ、ユーザーが誤ってウェブサイトを壊してしまうのを防ぐようになりました。ほとんどの場合、エディタは致命的なエラーを検出し、変更を元に戻します。
ただし、これは保証されておらず、一部のコードがまだ通過してしまう可能性があり、結果としてWordPress管理エリアへのアクセスを失うことになります。
内蔵ファイルエディターの最大の欠点は、ウェブサイトにどんな種類のコードでも追加できる完全なアクセス権を与えてしまうことです。
ハッカーがWordPress管理エリアに侵入した場合、内蔵エディターを使用してWordPressのすべてのデータにアクセスできます。
ハッカーは、マルウェアを配布したり、WordPressウェブサイトからDDOS攻撃を開始したりするためにもそれを使用できます。
WordPressのセキュリティを向上させるために、組み込みのファイルエディターを完全に削除することをお勧めします。
それでは、WordPressでテーマとプラグインエディターを簡単に無効化する方法を見てみましょう。
WordPressでテーマとプラグインエディターを無効にする方法
WordPressでテーマエディターとプラグインエディターを無効にするのは非常に簡単です。しかし、WordPressにコードを追加する必要があります。まだ行ったことがない場合は、WordPressにウェブ上のスニペットを貼り付ける方法に関するガイドをご覧ください。
テーマのfunctions.phpファイル、サイト固有のプラグイン、またはコードスニペットプラグインを使用して、このコード行を追加する必要があります。
define( 'DISALLOW_FILE_EDIT', true ); 無料で使いやすく、万が一問題が発生してもウェブサイトが壊れることがないため、WPCodeプラグインの使用をお勧めします。

注意: WPCodeのプレミアムバージョンもあり、コードリビジョン、自動変換ピクセル、スケジュールされたスニペットなどの高度な機能が付属しています。
まず、無料のWPCodeプラグインをインストールして有効化する必要があります。詳細な手順については、WordPressプラグインのインストール方法に関するガイドを参照してください。
プラグインを有効化したら、WordPressダッシュボードから コードスニペット » スニペットを追加 に移動します。
次に、「カスタムコードを追加(新しいスニペット)」オプションにマウスカーソルを合わせ、「+カスタムスニペットを追加」ボタンをクリックします。

次に、スニペットのコードタイプを選択するように求められます。「PHPスニペット」オプションを選択してください。

その後、スニペットにタイトルを付け、「コードプレビュー」ボックスに上記のコードを貼り付けることができます。

最後に、スイッチを「非アクティブ」から「アクティブ」に切り替え、「スニペットを保存」ボタンをクリックするだけです。

これで、プラグインとテーマのエディターはWordPress管理画面のテーマとプラグインのメニューから消えます。
代わりに、wp-config.phpファイルを編集し、「これで編集は完了です。ハッピーパブリッシング」という行の直前に上記のコードを貼り付けることもできます。
次に、変更を保存して、ファイルをウェブサイトにアップロードし直します。
ファイルを直接編集したくない場合は、Sucuri WordPressプラグインをインストールできます。このプラグインはワンクリックで強化機能を提供します。
WordPressテーマとプラグインファイルを編集する適切な方法
多くのユーザーは、WordPressのテーマやプラグインエディターを使用してコードを確認したり、カスタムCSSを追加したり、子テーマのコードを編集したりしています。
テーマにカスタムCSSのみを追加したい場合は、外観 » カスタマイズにあるテーマカスタマイザーを使用して行うことができます。

詳細については、サイトを壊すことなくWordPressにカスタムCSSを追加する方法に関するガイドをご覧ください。
プラグインのコードを確認したい場合は、FTPクライアントを使用することで行うことができます。
ファイル管理とシンタックスハイライトを改善するために、コンピュータでWordPressファイルを編集するためのコードエディターのいずれかを使用できます。
最後になりましたが、コードを書かずにカスタムWordPressテーマを作成することもできます。
この記事が、WordPress管理画面からテーマとプラグインのエディターを簡単に無効にする方法を学ぶのに役立ったことを願っています。また、WordPressのパフォーマンスと速度を向上させるための究極ガイドや、最適なWebデザインソフトウェアの専門家によるおすすめもご覧になりたいかもしれません。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。


モイヌディン・ワヒード
セキュリティ上の理由と、プラグインやテーマが意図したとおりに機能するようにするため、これは必須の調整です。
私のクライアントのほとんどは技術的な背景を持たず、このようなことはしませんが、そもそもそのような変更を許可しないのは賢明な考えです。
この簡単なステップガイドに感謝します。
イジー・ヴァネック
チュートリアルありがとうございます。wp-config.phpファイルを使用しましたが、うまくいきました。特に顧客サイトにとっては、サイトのコードを変更させないという点で、またセキュリティの観点からも、このオプションは非常に良いと思います。
最終的に、wp-configファイルを主に選択したのは、管理画面からこの機能を簡単に無効化できないようにするためです。私にはそれは意味がありませんでした。
WPBeginnerサポート
Makes sense
管理者
ボブ・プットナック
これは最近では何も達成できません。
1) CODE SNIPPETS ソリューションを使用した場合、ハッカーが管理パネルにアクセスできる場合、彼らは単にCODE SNIPPETSパネルに移動してスニペットを無効にするでしょう。
2) 同様に、wp-configファイルに追加した場合、管理パネルにアクセスできる人がコードスニペットプラグインをインストールして有効にし、次のようなルールを設定できない理由がわかりません。
define( ‘DISALLOW_FILE_EDIT’, true );
ハッカーが管理パネルにアクセスできる場合、この問題に対する解決策は全くないように思えます。
同意しない場合は、その理由を説明してください。私のログインは100%健全に見えます。
WPBeginnerサポート
サイトに管理者レベルのアクセス権がある場合、問題を回避するためのプラグインを追加することを検討できます。これらのサイトセクションにアクセスできる他のユーザーロールがありますが、プラグインを追加する能力はありません。これにより、このレベルのアクセス権を持つ非管理者がファイルにアクセスするのを防ぐことができます。
管理者
Robin Hood
この投稿を共有していただきありがとうございます。役立ち、情報豊富でした。
WPBeginnerサポート
You’re welcome, glad our content could be helpful
管理者
イザベラ
こんにちは!私は逆の問題を抱えています。エディタにCSSコードを追加する必要がありますが、エディタが消えてしまいました。
何か提案はありますか?
どうもありがとうございます。
よろしくお願いします。
マイク・ソーヤー
すべてのヒントと役立つアドバイスをありがとうございます。行き詰まったときに参照するのに最適です。ありがとうございます。
Raj
残念ながらこれは私にはうまくいきません。wp-config.phpファイルを更新しましたが、wpダッシュボードのエディタオプションはまだ表示されています。何か提案してもらえますか?
Dave
Rajさん、こんにちは。
同じ問題がありましたが、解決できました。これがあなたの問題と同じかどうかはわかりませんが、インターネット上の投稿からコピー&ペーストすると、シングルクォーテーション(‘ ‘)やダブルクォーテーション(” “)が、まっすぐな引用符ではなくカーリークォーテーションになることがあることに気づきました。シングルクォーテーションを削除して、再度入力してみてください。
お役に立てば幸いです!
-デイブ
William Marques
全てに保存オプションを無効にすることは可能ですか?クライアントにコントロールパネルを見せたいのですが、変更を保存してほしくありません。
Bella
トライリオン(数えきれないほど)の感謝を!!
この小さなコードが私の世界を変えました!
今までどうしてあなたに出会えなかったんだろう??
笑顔でいてね – Bella
Jimit Shah
こんにちは
テーマエディターのPHPファイルで、ペーストコマンド(マウスとCtrl+V経由)を無効にしたいです。外部からコードをコピーせずにコードを書きたいからです。手動でのコード入力を許可したいです。助けてください。
Raja Dileep Kumar
define(‘DISALLOW_FILE_EDIT’, true); この関数は、WordPressにコードを貼り付けた場合にthemes/functions.phpで機能します
プラモド・クマー
うまくいきました、ありがとう。
ジョン・マクナマラ
こんにちは、アクセスなしでこれを回避する方法を見つけた人はいますか?ウェブサイトのセットアップに1800ドルを支払ったのですが、それは変更されていないテーマであり、エディターのロックを解除するためにもっと支払うように求めています。
助けてください!!
WPBeginnerサポート
FTPアクセス、またはホスティングコントロールパネルへのアクセスがあれば、wp-config.phpファイルを簡単に編集してコードを削除できます。
1-click Use in WordPress
管理者
グラハム・ペッカム
こんにちは。昨日、誰かが私のウェブサイトにMonsterInsightsプラグインをインストールしてハッキングされました。しかし、あなたが提案したコード行はすでにwp-configにインストールされていました。
これらの停止のための何か提案はありますか?
よろしくお願いします。
WPBeginnerサポート
グラハムさん、こんにちは。
ウェブサイトがハッキングされた可能性があると思われる場合は、ハッキングされたWordPressサイトを復旧する方法に関するガイドをご覧ください。将来的には、ウェブサイトを保護するために、完全なWordPressセキュリティガイドに従うことも検討してください。
Prasath
define( ‘DISALLOW_FILE_EDIT’, true );
これはページ全体のエディターを無効にします。ホームページと特定のユーザー(例:エディター)のみ無効にする必要があります。ページビルダーを使用しているためです。クライアントはそれを見たくありません。
どなたか助けていただけますか….
Mark Corder
このコードをサイト固有のプラグインに追加しても機能することを確認できます。そのレシピもここWPBeginnerで見つけることができます…
…というわけで、皆さん、すべてに感謝します!
Melissa
こんにちは!私のずる賢い開発者がこれを私にしてしまい、アクセスが必要です…FTPアクセスなしでこの巧妙なトリックを「元に戻す」方法はありますか?
私も開発者で、問題なくファイルを編集できますが、契約した開発者はコードにアクセスするために私に料金を請求したいと考えています…なので、何とか自分でできる方法を探しています!
Mel
アル・クライン
「すべての成果物」を契約しましたか?もしそうなら、FTPパスワードを彼に引き渡すように要求してください。それは成果物です。(契約なので、裁判所によって強制力があります。特定の行動を訴えることはできないかもしれませんが、別の開発者に古いサイトと全く同じ新しいサイトを作成させるのにかかる費用を訴えることはできます。それはおそらく既存の開発者を破産させるでしょう。そうすれば、彼はすべてを引き渡すことに積極的になるでしょう。)
契約に「すべての納品物」が含まれていなかった場合、または署名された契約がない場合は、安価な法的レッスンだと考えてください。(法科大学院はもっと費用がかかります。)
Bill
素晴らしいヒントです。
特定の投稿(ページ)タイプに対して特定の(例えばElementorのような)エディターを無効にする方法はありますか?ただし、クラシックエディターへのアクセスは許可したままにしたいです。
子テーマのfunctions.phpファイルで実現できることを願っています。
スレッシュ・カナール
この投稿を読んでいる間、なぜ誰もWordPress管理画面でエディターリンクを非表示にしたいと思うのだろうかと思っていました。なぜなら、それらのリンクにアクセスできるのは管理者だけであり、彼らが必要なことを行う許可を得られない場合、何の意味があるのだろうか?クライアントのためにブログを設定している場合に役立つことを理解しました。良いヒントをありがとう。
Mark Corder
これは素晴らしいヒントです。私のtwentytwelve-child-themeフォルダのfunctions.phpファイルにこの行を追加したところ、うまくいきました。テーマのカスタマイズ(ヘッダー、背景など)のオプションはまだ表示されますが、「エディター」のリンクは消えました。(それらを消すためにCTRL-Rを押してページを強制的に再読み込みする必要がありました。)
クライアントが触るべきではないバックエンドのものはすべて削除するように努めていますが、プラグインとテーマのエディターはまさに破滅を招きます! 1行のコードでそれらを削除できるのは素晴らしいことです…
単に別のプラグインを推奨するのではなく、子テーマのfunctionsやファイルを編集して何かを達成するこれらのヒントに本当に感謝しています。ただし、これは「初心者向け」のことから少し外れていることは理解しています。
もしあなたがこのリクエストをすでに千回受けていないなら、ハードコアな私たち向けに「WPAdvanced」サイトを立ち上げてくれると嬉しいです!
編集スタッフ
フィードバックありがとうございます、マークさん。はい、過去にもWPAdvancedのリクエストは受けています。今のところ、WPBeginnerの改善を続けることに注力しています(まだ完了していません)。
-Syed
管理者
グレイ・アヤー
この手法で遭遇する問題は、古いプラグインのアップグレードもできなくなることです。これについて、wp-configファイルへの追加を無効にし、アップグレードしてからセキュリティ強化を元に戻す以外のアイデアはありますか?
編集スタッフ
興味深いですね。私たちのサイトでもこのコードが実行されており、1クリックでアップグレードできます。
管理者
joanpique
こんにちは、ヒントをありがとう、はい、functions.phpファイルで機能します。
しかし、このコードは私のテーマオプションページを無効にしてしまいました :(…エディターだけを非表示にする別のコードはありますか、または非表示を避けるためにオプションページに入れるものはありますか?
Renan Santos
wp-config.phpファイルを開いてコードを貼り付けるだけです!
Devin Walker
私のクライアントの99%は非技術者です