[WordPress]特定のページでbrBrbr400 による改行を無効化する方法(ブロックエディタへの対応)

WordPress
スポンサーリンク

今回は、『brBrbr400』プラグインに関するニッチかつ実戦的なTIPSを共有します。

本来ならブロックエディタ(Gutenberg)への完全移行で役割を終えるはずですが、「過去の膨大な記事資産がクラシックエディタで作られており、プラグインを停止できない」という案件、まだ現場には残っていませんか?

しかし、新しく作る固定ページやカスタム投稿タイプではブロックエディタを使いたい。そうなると、この『brBrbr400』が意図せぬ改行挙動を引き起こし、レイアウト崩れの原因になることがあります。

SEO上位記事によくある「プラグイン設定画面での調整」ではなく、テンプレートファイル側で強制的に制御するプロの荒技をご紹介します。

特定ページ・テンプレート・投稿タイプでのみbrBrbr400の干渉を強制停止する記述コード

結論から申し上げますと、対象となるテンプレートファイル(page-xxxx.phpやsingle-xxxx.phpなど)内のループ記述箇所に、以下のコードを追記してください。

実装コード例


『brBrbr400』は、WordPress標準の本文出力フックである the_content に対して処理を噛ませています。ですので、出力直前にそのフック(フィルター)を解除してしまえばOK。

これを記述することで、そのテンプレートが適用されているページだけは「生のデータ」が出力されるようになります。

なぜremove_filterが必要なのか?2025年のWordPress事情と共存策

本来、ブロックエディタはHTMLコメントアウトなどを用いて高度なレイアウトを保持しています。そこに、クラシックエディタ時代の論理である「連続する改行をbrタグに変換する」という『brBrbr400』の処理が走ると、ブロックのマークアップ構造そのものを破壊するケースがあるのです。

だからこそ、「既存記事はプラグインを生かし、新規の特定ページだけはPHPで黙らせる」というハイブリッドな対応が、現場では最もコストパフォーマンスの高い解決策となるわけですね。

実装時の注意点とbrBrbr400以外のプラグインへの応用

このコードはthe_content()が呼び出される前に記述する必要があります。すでに出力処理が始まった後で記述しても、時すでに遅し。効き目は現れません。

また、wpautop も同時に外しているのは、brBrbrを無効化した瞬間にWordPress標準の自動整形機能が復活し、予期せぬPタグが入るのを防ぐための保険ですね。

コメント

タイトルとURLをコピーしました