WordPressの「投稿の編集」画面で記事を作成していたら、「ビジュアル切替が出来ない」「メディアを追加ができない」「文字数が表示しない」といった問題が発生。
先ほどまでは、正常に表示していたのに突然何が起こったのか?
WordPress「投稿の編集」画面で「ビジュアル切替が出来ない」等の問題が発生した時の解決方法をご紹介します。

プラグインが原因?

ネットで情報を調べてみると、下記のプラグインが関係している可能性があることが判明。

●PS Disable Auto Formatting
●WP Multibyte Patch
●WordTwit Twitter Plugin

しかし、私のサイトには、「WP Multibyte Patch」こそあるものの、他のプラグインは入れていない。
「WP Multibyte Patch」は「有効化」してないので影響はないはず。

さらに調べてみると、「キャッシュ系プラグイン」が原因とも。
しかし、「キャッシュ系プラグイン」も入れていない。

一体何が原因なのだろうか?

男性はてな

直前に行った動作は何か?

こういった問題が発生した時は、「その症状が出る前に行った動作」が原因になっていることが多い。

大抵、それはphpに関するものだ。

私の場合、「ビジュアルに変更できない」「文字数が表示しない」「メディアを追加ができない」といった症状が発生する直前に行ったのは、ショートコード管理プラグイン「Post Snippets」にショートコードを1個追加したことだった。

そこで、「Post Snippets」を「停止」してみる。
すると、ビジュアルに変更ができた。
そして、「メディアを追加」も出来、文字数も表示。

ただ、「Post Snippets」は必要なので、ずっと停止する訳にはいかない。
そこで、一旦、「Post Snippets」を削除し、再インストールしてみようと考えた。

「Post Snippets」の何が問題なのか?

削除する前に、データをまず、エクスポート。
次に「削除」。

「Post Snippets」を削除

ところが、以下の表示が出て削除が出来ない。

Post Snippets削除できません

何度も試すうち、削除はできたが、再度、「Post Snippets」をインストールし「有効化」をクリックすると、次のメッセージが表示される。

Post Snippetsアクセスできません

あれこれいじっていると、以下のメッセージも。
Post Snippets保存できない

「Post Snippets」に追加したショートコードを削除

WordPressの「記事の編集」画面でビジュアルの変更等が出来なくなったのは、「Post Snippets」にショートコードを1個追加してからだ。

そこで、その1個を削除してみた。
すると、「記事の編集」画面でビジュアルの変更等が出来るようになった。

この問題は「Post Snippets」上限値が原因なのは間違いない。

「Post Snippets」上限値を変更

「Post Snippets」はデフォルトでは登録数に限りがあり、上限値を超えると追加が出来なくなる。
WordPressサイトで「Post Snippets」を利用していると、この問題は必ず直面する。

通常は、追加できなくなるので問題に気付くのだが、今回は、登録は出来たので、上限値が関係しているとは思わなかった。

「Post Snippets」の登録数は、php.iniか.httaccesにコードを追加する事で増やす事ができる。

php.ini編集

方法は簡単だ。
レンタルサーバーの管理画面の「php.ini編集」に以下のコードを追加するだけ。

php_value max_input_vars 10000

エックスサーバーの場合、「PHP」の「php.ini設定」をクリック。

エックスサーバーphp_ini設定

「php.ini設定」の「php.ini直接編集」タブをクリック。
「php.ini設定内容」の任意の場所に上記のコードを追加し、「確認画面へ進む」→「確定する」。

エックスサーバーphp_ini直接編集

ところが、「投稿の編集」でビジュアル変更が出来ない。
よく見ると、以下の表示があった。

「設定の反映には最大5分程度かかります。」

しばらくして、試すが切り替えが出来ない。
再度、追加するコードに関する記事を見直してみたら重大なことに気が付いた。

php.ini編集と.htacessで追加するコートが異なる

私は、php.ini編集も.htacessも追加するコードは同じだと勘違いしていた。
追加するコードは各々異なる。
※少し違うだけなので混同しやすい。

●php.ini編集⇒max_input_vars = 10000
●.htacess⇒php_value max_input_vars 10000

正しいコードを入力したところ、「Post Snippets」を有効化しても、編集画面の切替が出来るようになった。
メディアの追加、文字数表示も正常だ。

WordPress「投稿の編集」でビジュアル切り替えが出来ない時の解決方法【まとめ】

今回、WordPress「投稿の編集」でビジュアル切り替えが出来ないのは「Post Snippets」の上限値が原因であった。

しかし、これは私のケース。

大事なことは、「その症状(エラー)が出る直前に何をしたか」、ということ。
その症状(エラー)が出る直前に行った操作がエラーの原因になっていることが多い。
※というか、原因の大半はそうだろう。

通常はphpがらみだ。

基本は、その症状(エラー)が出る直前に行った操作を取り消す。
このことで、症状は大抵、収まるはず。