今回は、『brBrbr400』プラグインに関するニッチかつ実戦的なTIPSを共有します。
本来ならブロックエディタ(Gutenberg)への完全移行で役割を終えるはずですが、「過去の膨大な記事資産がクラシックエディタで作られており、プラグインを停止できない」という案件、まだ現場には残っていませんか?
しかし、新しく作る固定ページやカスタム投稿タイプではブロックエディタを使いたい。そうなると、この『brBrbr400』が意図せぬ改行挙動を引き起こし、レイアウト崩れの原因になることがあります。
SEO上位記事によくある「プラグイン設定画面での調整」ではなく、テンプレートファイル側で強制的に制御するプロの荒技をご紹介します。
特定ページ・テンプレート・投稿タイプでのみbrBrbr400の干渉を強制停止する記述コード
結論から申し上げますと、対象となるテンプレートファイル(page-xxxx.phpやsingle-xxxx.phpなど)内のループ記述箇所に、以下のコードを追記してください。実装コード例
|
1 2 3 4 5 6 7 8 9 |
// WordPress標準の自動整形機能を無効化(念の為) remove_filter('the_content', 'wpautop'); // brBrbrプラグインによる自動整形を無効化 remove_filter('the_content', 'brBrbr'); // コンテンツの出力 the_content(); ?> |
『brBrbr400』は、WordPress標準の本文出力フックである the_content に対して処理を噛ませています。ですので、出力直前にそのフック(フィルター)を解除してしまえばOK。
これを記述することで、そのテンプレートが適用されているページだけは「生のデータ」が出力されるようになります。
なぜremove_filterが必要なのか?2025年のWordPress事情と共存策
本来、ブロックエディタはHTMLコメントアウトなどを用いて高度なレイアウトを保持しています。そこに、クラシックエディタ時代の論理である「連続する改行をbrタグに変換する」という『brBrbr400』の処理が走ると、ブロックのマークアップ構造そのものを破壊するケースがあるのです。だからこそ、「既存記事はプラグインを生かし、新規の特定ページだけはPHPで黙らせる」というハイブリッドな対応が、現場では最もコストパフォーマンスの高い解決策となるわけですね。
実装時の注意点とbrBrbr400以外のプラグインへの応用
このコードはthe_content()が呼び出される前に記述する必要があります。すでに出力処理が始まった後で記述しても、時すでに遅し。効き目は現れません。また、wpautop も同時に外しているのは、brBrbrを無効化した瞬間にWordPress標準の自動整形機能が復活し、予期せぬPタグが入るのを防ぐための保険ですね。


コメント