WordPress4.8以降のテキストウィジェットでpやbrタグの余計な余白が入るのを除去する方法

WordPress4.8のアップデートにより、テキストウィジェットの仕様が変わりました。

それにより、新たにテキストウィジェットを設定すると勝手に段落が入り、pタグや、brタグが自動挿入されてしまい、余分なスペースが表示されるようになってしまいました。

今回は、「Wordpress4.8のテキストウィジェットに余分なスペースが入るのを解除する方法」について紹介したいと思います。

スポンサーリンク
レクタングル(大)広告

WordPress4.8の新テキストウィジェットの問題点

WordPress4.7以前では以下のようなシンプルなテキストウィジェットが利用されていました。

Wordpress4.7までのテキストウィジェット

けれど、Wordpress4.8以降は以下のような、ビジュアルエディターが追加されたテキストウィジェットになりました。

Wordpress4.8以降のテキストウィジェット(ビジュアル)

Wordpress4.8以降のテキストウィジェット(テキスト)

一見、便利になったようなんですけど、以前あった「自動的に段落を追加する」機能がなくなってしまいました。

「自動的に段落を追加する」機能

無くなるだけなら、まだ良かったんですけど新しいテキストウィジェットでコードなどを貼り付けると、勝手に「”自動段落を追加する”機能が有効になった状態でテキストウィジェットが表示される」といったことになってしまいました。

自動的に堕落を追加するが有効な状態

なので、新ウィジェットで新しくテキストウィジェットを置いて、アドセンスコード等を以下のように

改行込みで貼り付けると

新しいテキストウィジェットでアドセンスコードを貼り付け

「自動段落追加機能」が有効な状態でページに表示されてしまいます。表示されたタグを見てみると、こんな感じに段落が勝手に挿入され、余分なpタグやbrタグが付加された状態で出力されます。

2017-06-15_11h19_22

これだと、アドセンス表示位置などが余白の分だけ崩れてしまいます。

WordPress4.7以前に設定したテキストウィジェットでは「自動段落追加」はされないようです。Wordpress4.8以降で設定したテキストウィジェットで、この症状が出るようです。

以下では、この「自動段落追加」機能を無効にして、勝手にpタグやbrタグが追加されてしまうのを防ぐ方法を紹介します。

WordPress4.8以降の「自動段落追加」機能を無効にする方法

テキストウィジェットで自動段落追加機能を無効にするには、functions.phpにちょっとしたコードを追記するだけです。

テキストウィジェットでwpautop関数を無効にする方法

以下の一行をfunctions.phpに追記します。

ウィジェット表示時にフィルタを無効にする

以下のようにwidget_display_callbackをフックして、フィルターを無効にする方法でもOKです。

注意点

上記の方法だと、「自動段落追加」機能が全て無効になってしまいます。

ですので、「自動段落追加」機能を見込んでテキストエディターに文章を入力した場合は、pやbrタグが自動で付加されません。ですので、段落を挿入したい場合はビジュアルエディターを使用して自前で挿入する必要があります。

参考情報

今回紹介した方法は、「何か解決方法はないか?」と探していたら、Wordpressフォーラムで見つけました。

参考 Topic: How to Disable Visual Editor in The Text Widget « WordPress.org Forums

まとめ

こんな感じで、「新しいテキストウィジェットで余分なスペースができてしまう問題」は解決できると思います。

ただ注意点にも書いたように、自動的に段落は付加されなくなるので注意が必要です。

ちなみに、Wordpress4.7以前のような旧テキストウィジェットライクなものが利用したい場合は、以下のようなプラグインを使用するというかもしれません。

Wordpress4.8よりテキストウィジェットの仕様が変わりました。 仕様変更により、ビジュアルエディターが利用できるように...

もしくは、自前で旧式テキストウィジェットを作ってしまうとか。

Wordpress4.8よりテキストウィジェットの仕様が変わりました。 仕様変更により、ビジュアルエディターが利用できるように...

正直、Wordpress4.8のテキストウィジェットの動作はどうかと思うので、もしかしたら公式側で改善されることもあるかもと淡い期待をしています。