
2017年6月にリリースされたWordPress 4.8では、テキストウィジェットにビジュアルエディターの機能が加わりました。この変更によりWordPressの投稿記事の編集と同様にビジュアルとテキストを選んで編集することができる様になりました。
WordPress 4.8で仕様変更となったテキストウィジェットの不具合について
WordPress 4.8 にアップデート後、テキストウィジェットでテキスト編集を選択して、AdSenseの広告コードを貼り付け保存すると、勝手にpタグやbrタグが挿入される現象が発生しました。広告コード内に段落や改行タグが混入すると不具合の原因となる可能性があります。余分な改行が加わって「スポンサーリンク」などのラベルと広告の間にスペースが空いてしまうような状態になったりもします。
コードにpタグやbrタグが混入してしまう理由
上記問題が発生する原因は、WordPress 4.8のテキストウィジェットでは、テキストウィジェットの”auto add paragraphs”のチェックボックスが省かれて、wpautop(WordPressの自動整形機能)が常時有効になってしまっているためです。wpautopが有効の場合、サードパーティーのHTML(例:AdSenseの広告コード)を貼り付けた時、pタグやbrタグが自動的に加えられたり(自動変換されたり)、意図しないHTMLタグの除去が行われる可能性があります。
この問題は、WordPressのエンジニアも認知しており、WordPress 4.8.1では、上記テキストウィジェットの不具合の対策として、カスタム HTML ウィジェットが追加されました。
Introduce widget dedicated for HTML code / WordPress.org
wpautopによる問題例:
script 要素にpタグが加えられてしまう (WordPress org チケット #2833)
HTMLコードを使用しているテキストウィジェットはカスタム HTML ウィジェットにコードを貼替えすることを推奨
WordPress 4.8 アップグレード前に設定したテキストウィジェットは、HTMLコードがpタグやbrタグが加えられない状態のままになっています。現状は、問題はありませんが、テキストウィジェットを編集したり、セーブし直すと不具合が発生する可能性があります。
WordPress 4.8.1 でHTMLのコードが入力されているテキストウィジェットを開くと、カスタム HTML ウィジェットを使用するように勧めるメッセージが表示されます。
テキストウィジェットに表示されるメッセージ:例1
「カスタム HTML」ウィジェットが追加されたのをご存知でしたか ? この画面で利用可能なウィジェットの一覧から探してみてください。サイトにカスタムコードを追加するのに使ってみましょう。
テキストウィジェットに表示されるメッセージ:例2
このウィジェットには、新しい「カスタム HTML ウィジェット」でよりうまく動作するコードが含まれている可能性があります。そちらのウィジェットを試してみませんか ?
上のような画像のようにメッセージが表示されるので、気づく方も多いと思います。現状は問題なく動作していても、何らかの理由で不具合が発生したりする恐れがあるので、早めにカスタム HTML ウィジェットに移し替えた方が良いです。
広告コードやTwitterやFacebookのタイムラインやプロフィールウィジェットのコードをテキストウィジェットに設置している場合は、カスタム HTML ウィジェットに貼り替えることをお勧めします。
コメントを残す(承認後表示されます)