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タグが追加されてしまうのを防ぐ方法を紹介します。

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

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

以下に紹介する、どちらかのコードをテーマ(子テーマ)のfunctions.phpに書き込めばコピペすればOKです。

テキストウィジェットでwpautopフィルタを取り除く

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

remove_filter('widget_text_content', 'wpautop');

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

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

function clean_widget_display_callback( $instance, $widget, $args ) {
   $instance['filter'] = false;
   return $instance;
}
add_filter( 'widget_display_callback', 'clean_widget_display_callback', 10, 3);

注意点

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

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

参考情報

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

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

まとめ

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

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

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

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

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

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

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

追記(2017年7月1日)

2017年6月29日に公開された4.8.1 – Make WordPress Coreによると、7月後半公開予定のv4.8.1において「HTML Code Widget(日本名は不明)」という新しいテキストウィジェットが追加されるようです。

4.8.1 planning

  • #40951 & #40907 will be core to the 4.8.1 release being targeted around the last week of July

「HTML Code Widget」が追加されたら、今回紹介したカスタマイズ部分は削除して新しいウィジェットを利用することをおすすめします。

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

スポンサーリンク

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

  1. 名前:へっぽこ 投稿日:2017/06/20(火) 18:49:15 ID:e15c4a126

    はじめまして。
    この記事、とても助かりましたです。

    個人的にウィジェットではテキストしか必要ないのに何をしてくれるんだ…と。
    ビジュアルからテキストに切り替えたら、入力内容がぐちゃぐちゃになっていたのです。
    ウィジェット内でもPHPを書いていたのですが、それが全部消えているのです。
    偶然にも入力内容のテキストを残していたので事なきを得たのですが…
    別サイトで残していないものがあるのですが、改善されるまでしばらく待つ方がいいのでしょうか。
    ちょっとこの改善は正直、個人的にはものすごく困る内容でございます。

  2. アバター画像 名前:わいひら 投稿日:2017/06/20(火) 19:24:48 ID:699a6a63e

    はじめまして。
    ほんと…「なんてことしてくれるんだ…」といった感じです。
    ビジュアルエディターの自動整形は、厄介ですよね。てか、PHPコードは完全に消されちゃうんですね^^;
    いやほんと、テキストウィジェットにそんな高機能求めてないといった感じです。
    さすがに、この仕様変更は困る人も多いと思うので、次のバージョンで「何か改善してくれないかな」と、かなり期待はしているのですが、さて…。

  3. 名前:へっぽこ 投稿日:2017/06/29(木) 18:04:30 ID:b9817ad14

    こんにちは。

    自動挿入されるPタグ問題、ヴィジュアル/テキストの画面ではなく旧型の入力画面にするということが、「Add Paragraphs Option to Text Widget」というプラグインで一度に解決できました。

    https://ja.wordpress.org/plugins/add-paragraphs-option-to-text-widget/

    PHPも問題なく動いてくれて、個人的にとても助かりました。
    すでにご存じかもとは思いつつ、コメントさせていただいた流れでご報告させていただきました。

    ウィジェットを触る前にこのプラグインを有効化したところ、入力したテキストやコードもそのまま表示され、PHPも動作してくれました。これがたまたまでなければ良いのですが。

    次のバージョンで対応されるという記事を見ましたが、今回のプラグインのように入力済みのテキストが消されないかどうかがどうなるか。そこが個人的にはポイントかなと思っております。

  4. アバター画像 名前:わいひら 投稿日:2017/06/30(金) 17:46:22 ID:54f4c5bab

    こんにちは。
    「Add Paragraphs Option to Text Widget」というプラグインについては、僕は初耳で知りませんでした。
    こんな良いプラグインもあるとは。デフォルトを旧式にも戻せるんですね。
    後で、ソースコードも見てみようと思います。

    良いプラグインをしていただき、ありがとうございます!