「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
詳しくは下記の記事をご参照ください。
「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」そのものを削除する作業が行っているところだ。
複数のサイトで複数の広告を登録したので時間がかかる。