Twitterがウィジェットに保存できないセキュリティ以外の原因

Twitterをwordpressのウィジェットに表示させる時に保存ができない時、ネットで原因を検索しているとほとんどがサーバーのWAF設定が原因で無効にしたら解決できたもしくはプラグインとの相性が良くない等セキュリティ上の問題が挙げられています。それでも解決できない方々の参考になればと思います。

最初に結論を述べると、Twitterコードがwordpressのウィジェット(カスタムHTML・テキストエディタ等)で保存できない原因はプラグインやサーバーのセキュリティー(WAF)、ログエラーでもない場合、ツイターのHTMLコードに問題がありました。

スポンサーリンク

ウィジェットに保存ができない現象

Twitterの固定ツイートをwordpressのウィジェット(メインサイド)に埋め込むために公式twitter publishより埋め込みコードを取得し、ウィジェットのカスタムHTMLにコピペし保存・完了をしましたが、再度確認すると保存したはずのTwitterコード・HTMLが白紙に戻っていました。何度、保存・完了してもカスタムHTMLは保存機能が使えなかったのです。

気になったのは、公式twitter publishでコードを取得したときに「(コードの読解)完了」という表示が出てこなかったこと。しかしスマホで同じ作業を行った場合コード変換時に完了と表示されるので問題ないとみなしていました。埋め込みたいツイートから</ツイートを埋め込む>でコードを取得してカスタムHTMLにコピペしても保存ができなかったのです。

解決に向けてやったこと(仮説と検証)

サーバーの問題

WAF設定・XML-RPC API アクセス制限・REST API アクセス制限をすべてOFFにして、MySQLバージョンを確認しましたが、保存できませんでした。サポートセンターへの問い合わせをしましたが「ログエラーはでていません」と回答がありました。

WAF設定をOFFにしてから約1時間後に変更できる場合もありますので試してください。

wordpressの問題

ワードプレスのバージョンの確認プラグイン(キャッシュプラグイン・セキュリティプラグイン)の無効化をしましたが、やはり保存できませんでした。

テーマの問題

テーマ開発者にお問い合わせをしましたが、ここでもエラー表示がなくテーマの影響も関係ありませんでした。

ウィジェットの問題

カスタムHTMLではなくテキストエディタを使いましたが保存をクリックしたと同時にTwitterコードが一瞬にて消え白紙に戻ってしまいました。

ウィジェットで保存ができなかったので保存機能に不具合があるのではと考え、試しにTwitterコード以外のHTMLを入力し保存したところ、保存できたんです。プレビューにも表示されていました。

ということで、原因はウィジェットではなくTwitterコードに問題があるのではと次の仮説を立てました。実は、この仮説が当たっていたんです。

スポンサーリンク

原因はTwitterコードのHTML

TwitterコードのHTMLを見直したところ、HTMLの属性等には問題がありませんでした。となれば、もしかして自分がツイターで入力した文字と絵文字の読み込みができないのではとまた仮説を立てることに。文字数は2.5.5(英数半角含む)で少ないのでそこでエラーが出ているとも思えませんでした。英数半角はHTMLで使う基本文字なのでコードとしては問題なさそう。

と考えた時に「HTMLって絵文字を読解できるのかな。」という疑問が思い浮かびました。

そこで、絵文字がHTMLの保存に何かしらの支障を与えているのではとさらに仮説を立て、カスタムHTMLにTwitterコードをコピペして、ウィジェットを保存する前に気になる絵文字を削除しました。そして、保存・完了をして更新するとなんと保存ができたのです。

最後に(まとめ)

Twitterコードがwordpressのウィジェット(カスタムHTML・テキストエディタ等)で保存できない原因はプラグインやサーバーのセキュリティー(WAF)、ログエラーでもない場合、ツイターのHTMLコードに問題があります。Twitterの公式で取得してきた変換コードなので怪しむことをしなかった・・・。Twitterコードの取得方法は正しい手順で行われていましたが、ウィジェットに弾かれてしまう文字列・絵文字もあることが分かりました。

ネットで原因を検索しても「Twitterコードの絵文字が原因でウィジェットの保存ができない」なんて書いてないよ~。

おしまーい。

スポンサーリンク
おすすめ記事