「Post Snippets」は広告管理が簡単にできるWordPressのプラグインだ。
複数のページに同じ広告を貼る場合、ショートコード1つで済むので、修正が楽。
但し、思わないエラーが出ることがある。
私が実際に経験した「Post Snippetsの保存が出来ない」3つのケースについて原因と対処方法をご紹介します。

Post Snippetsの保存が出来ないケース

Post Snippetsの使い方

Post Snippetsのインストールや使い方を解説した記事はネットにゴロゴロしているので、ここでは触れない。

使い方は簡単だ。
但し、Post Snippetsを使っている内に「保存できない」場面に出くわすことがある。

Post Snippetsの保存が出来ないケース

Post Snippetsの保存が出来ない以下のケースがあった。

●単純に保存できない。
●「Title」名が「Untitled」のまま
●保存しようとするとエラーが出る

「Post Snippetsが単純に保存できない。」時の原因と対処方法

今まで、保存が出来ていたのに突然、保存が出来なくなる時がある。

原因

これは広告を複数登録していると、どこかで直面する問題だ。
「Post Snippets」はデフォルトで登録できる数に上限が設けられている。
この上限に達すると保存が出来なくなる。

対処方法

この場合、「Post Snippets」上限値を変更することで解決できる。
「php.ini」か「.htacess」にコードを追加するだけ。

php.ini編集

「php.ini」に以下のコードを追加する。

max_input_vars = 10000

「php.ini」と「.htacess」では追加するコードが微妙に違う。
また、「php.ini」で追加するコードの位置も大事だ。
最初、一番下にコードを追加したが、変わらず。

そこで、以下のコードの下に記入したら、保存できるようになった。
※エックスサーバー

post_max_size = 30M
upload_max_filesize = 30M

.htacess編集

「.htacess」に以下のコードを追加する。

php_value max_input_vars 10000

詳しくは下記の記事をご参照ください。

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

「Title」名が「Untitled」のまま

悩ましいのがこのケース。
解決するに至るまで3日以上かかった。

一旦、保存が出来るが、「Post Snippets」の「Title」名が「Untitled」のまま。
1つはコレで広告が表示できるが、2個目も「Untitled」なので区別がつかず、2個目以降に登録した広告が表示できない。

あれこれいじっていると、今度は「Title」名が英数字のピュニコードに変換されるようになった。
これでは「Title」名が長く、何の広告か分からない。

原因

原因はバージョンアップで仕様が変わったことにあった。
今までは日本語で「Title」が登録出来たのが日本語が使えないくなった。

対処方法

解決方法は日本語は使わない事。
記号も良いのだが、「」(カギかっこ)はNG。
ピュニコードに変換されてしまう。
基本はアルファベット。
記号はどこまで可なのかは試していないが「_(アンダーバー)」は使える。数字はOK。

どうやら「更新」後に仕様が変わったらしい。
しかし、まさか日本語がNGになるとは。

保存しようとするとエラーが出る

Post Snippetsを保存しようとする下記のエラーが出た。
当然、保存できない。

原因

Post Snippetsだけでなく、他のプラグイン、WidgetやCSSが保存できない場合の原因はWAF設定にあることが多い。

対処方法

WAFとは、プラグインの脆弱性と付いたサーバー攻撃からサイトを守るセキュリティだ。
WAFが初期設定でONになっているか、OFFになっているかはサーバーによって異なる。

私の場合、エックスサーバーからConoha Wingにサーバーを移転したのが原因のようだ。

WAF設定をONからOFFを変更したら、正常に保存できるようになった。
保存が出来たら、WAF設定をONに戻すのが好ましい。

Post Snippetsに変わるプラグインは?

以上、Post Snippetsが保存できない3つのケースについて原因と対処方法を述べた。
まとめると以下になる。

●単純に保存できない⇒Post Snippetsの上限値を変更
●「Title」名が「Untitled」のまま⇒「Title」を英語で登録
●保存しようとするとエラーが出る⇒WAF設定をOFFに変更

厄介だったのが、『「Title」を英語で登録』という解決方法。
今まで、日本語で登録できていたので、このことに中々気が付かなかった。
また、ネットで情報を探しても、全く情報が出てこなかった。

この問題が解決するに時間が掛かった為、その間、別のプラグインと使った。

これもあれこれ情報を集め、実際にインストールして使用感を試してみた。
結局、「Shortcoder」というプラグイン。

「Shortcoder」の使い方

「Shortcoder」の使い方も簡単だ。
「Create shortcode」をクリックして、タイトル名とコードを入力するだけ。
但し、タイトル名は英語だ。
Post Snippetsと違うのは、コードの入力画面が記事の編集画面と同じ点。
「ビジュアル」と「テキスト」の切替ができる。

「Shortcoder」の弱点

最初は便利に思えたが、計算式のコードで躓いた。
「テキスト」で入力しても保存すると、コードが一部欠落する。
Post Snippetsではこういうことが起きない。

結局、「Post Snippetsが保存できない」問題が解決するまで、いくつか広告を登録したが、2つも同じ種類のプラグインは必要ないし、動作が遅くなるので、一旦登録した広告を「Post Snippets」に再登録し、「Shortcoder」そのものを削除する作業が行っているところだ。

複数のサイトで複数の広告を登録したので時間がかかる。