「WordPress関連」カテゴリーアーカイブ

WordPress関連のカテゴリ

WordPressで記事の更新時に「更新が失敗しました。返答が正しいJSONレスポンスではありません。」と表示されたり新規投稿画面を開こうとしても「Security check failed」と表示された原因

本日WordPressで作業していたら以下のような事象が発生しました。

  • WordPressで記事を更新しようとしても以下のように「更新が失敗しました。返答が正しいJSONレスポンスではありません。」と表示されて更新出来ない
  • 新規で投稿や固定ページを追加しようとしても「Security check failed」と表示されて新規投稿用の画面が表示されない

先日まで投稿できてたのに何故!?

と思いエラーメッセージでググっても「クラシックエディタに変更してみる」とか「パーマリンク設定を基本にする」などは見つかりましたが今ひとつ根本的な解決手段じゃないなあと本日行った作業を思い出してみるとそういばプラグインいくつか更新したな。。と思い出し本日更新したプラグインを一つずつ無効化して確かめてたら。。

プラグイン「WP to Twitter」の更新が原因でした!!

これを無効化したら全て正常に動作したので私の場合は「プラグインの更新で不具合があった」というのが根本原因でした。。

やっぱりプラグイン更新時は動作確認必須だなあと再認識(^_^;)

WP to Twitterのページを見るとバージョン「3.6.0」に更新すると発生します。

サポートフォーラムを見てもまだこの件については何も記載されてないようなのでもう少し対応待つ必要ありそうです。

Wp to Twitterのプラグインページへ

 

今回は更新したプラグインで不具合があったのが原因でしたが、調べていると他の原因でも「更新が失敗しました。返答が正しいJSONレスポンスではありません。」のメッセージが表示されることがあるようです。まずは正常に更新出来ていた時期~エラーが発生した時期までに更新したことを思い出して一つずつ原因を潰すのが一番近道かなあと思います。あと定期的なバックアップも大事!

他に考えられる原因や対処方法

  • レンタルサーバー側でなんらかのセキュリティなどの機能が追加されたのが影響した
  • 「.htaccees」の編集で記載ミスがあった。もしくは自動で中身がクリアされてしまっていた。
  • ブラウザのキャッシュをクリアしたら直った
  • サーバーのWAFをOFFにしたら直った

 

Twitterの開発者アカウント申請時にTwitter側から質問事項がきました

当サイトで投稿した記事は公開時に自動ツイートされるように「WP to Twitter」というプラグインで設定していたのですが、いつの間にかtwitter側の仕様に変更がありプラグインを利用するにはtwitterの開発者アカウントの取得が必要になって申請していました。

申請後、以下の質問がtwitter側から送られてきたので、今後申請する方は下記事項を明確にして申請すれば一発で通りやすいかと思います。

  • Twitter APIを使用する中核的な使用目的、意図、ビジネス上の目的。
  • ツイート、Twitterアカウント、またはそのコンテンツを分析する場合は、実施する分析の内容と手法または技術について詳しくお教えください。 
  • ツイート、リツイート、いいねの使用が含まれる場合は、Twitterアカウントまたはそのコンテンツに対してどのような操作を行うのかをお教えください。
  • TwitterコンテンツをTwitter以外で表示する場合は、お客さまの製品またはサービスで、ツイートおよびTwitterコンテンツがどこにどのように表示されるかを、行レベルの表示か集計表示かを含めてご説明願います。

返信は日本語でしましたが、無事申請通りました(*^^*)

WordPressで「現在メンテナンス中のため、しばらくの間ご利用いただけません」と表示される原因について

WordPressを操作していてサイトを表示するといきなり「現在メンテナンス中のため、しばらくの間ご利用いただけません」と表示されて管理画面も表示出来ずかなり焦ったので対処方法をメモしておきます。

事象

    WordPressで作成したサイトを表示すると「現在メンテナンス中のため、しばらくの間ご利用いただけません」と表示される

原因

    プラグイン等の更新中にF5などで再表示した場合に発生するようです

対応策

  • 該当サイトのリポジトリへアクセスし、「.maintenance」ファイルを削除します。

WordPressでjQueryが動かない

当初WordPressを使用し始めていた時期に、jQueryを動作させようとしたら全く反応しないという事象が発生しました。その時の対処方法をメモしておきます。

原因

WordPressではjQuery以外にも「prototype.js」や「mootools」といった他のライブラリも読み込まれています。これらのライブラリでも「$」関数が使用されている為、conflictが発生してjQueryが動作しなくなってしまいます。

対処方法

jQueryで以下の様に「$」を「jQuery」へ書き換えて「$」関数を使用しないように変更します。

変更前

変更後

WordPressのバージョンアップ後に「Warning: Missing argument 2 for wpdb::prepare()」が発生

最近WordPressのバージョンアップを3.8へアップデートしてサイトを表示してみたら、プラグインを使用している箇所で「Warning: Missing argument 2 for wpdb::prepare()」というワーニングメッセージが表示されていました。どうもこの事象は3.5へアップデートした時から発生している事象のようで、当方は3.4→3.8へのバージョンアップだったので今頃遭遇しました・・・。
放置しても動作はしますが、見栄えが悪いので対処方法を調べてみました。

原因

WordPressの3.5以上では「wp-db.php」で定義されているFunction「prepare」の引数の数が2つ必要になっています。

今回Warningが発生した原因はこの「prepare」をプラグインのphpから呼び出す際に引数が1つしか指定されていない為にWarningが表示されたみたいです。

対処方法

原因は明確なので、function「prepare」を使用しているphpを修正します。function「prepare」を使用している箇所へダミー引数となる「null」を2つ目の引数として指定すれば対応完了です。(もちろんプラグインが正式対応したらバージョンアップしましょう)

変更前

変更後

WordPressでショートコードをそのまま表示する方法

プラグインの紹介ページを作成していたらふと困ったことが発生。
[ショートコード]を文字列としてそのまま表示させようとしたら正常に機能してしまって、文字列として表示されない!?
それで、色々と試した結果・・・

[[ショートコード]]

と[]を連続して入力すればそのまま表示されることが判明しました。(ちょっと焦りました–)
今後もちょくちょく使用すると思われるので、プラグインを使用するといった面倒さがないのは助かりますね。