
WordPressとWordPressのデフォルト編集機能、TinyMCE WYSIWYG エディターには、自動的に<p>タグと<br>タグを自動挿入する機能(自動整形機能)がデフォルトで設定されています。WordPress 自動整形機能は、便利な機能なのですが、改行が2つ続くと自動的に<p>タグに変換されるため、記事を作成際に、意識せずに改行を連続して行なって、中身のない<p></p>のような空のパラグラフ(段落)タグができてしまうなどの副作用(弊害)もあります。
WordPressでAdSenseの広告コード内に<br>が混入することがあります。TinyMCE を使用しているウィジェットやプラグインなどでも自動整形機能が有効になっていると<p>タグや<br>タグが挿入されてしまうためです。
プラグインやウィジェットで自動整形機能を無効に設定する
ウィジェットやプラグインで、自動整形機能(pタグとbrタグの自動挿入)の有効無効の切り換え機能を備えている場合は、用途などに応じて設定を変更したり、用途にあった適切なウィジェットを使用するなどして対応します。
<p>タグや<br>タグがウィジェットで設定するコード内に挿入されたくない場合は、カスタムHTMLウィジェットを使用することをお勧め致します。(関連記事:広告コードはテキストウィジェットからカスタムHTMLに貼り替えをお勧めします)
テーマでも自動整形機能の切り換え設定を備えているものもあります。以下は、DigiPressさんのテーマの該当設定部です。(「DigiPress詳細設定」の「サイト一般動作設定」にあります。Frescoを除く。)
マニュアルでWordPress 自動整形機能を無効に設定する方法
WordPressとTinyMCE WYSIWYG エディターは、wpautopと呼ばれるフィルター機能を使用して、自動的に<p>タグと<br>タグを自動挿入しています。
以下の記述をfunctions.phpに追加すると、wpautopが無効になります。
remove_filter( ‘the_excerpt’, ‘wpautop’ );
<p>タグ(段落タグ)の自動挿入は有効にして、<br>タグ(改行タグ)のみ自動挿入を無効にしたい場合は、以下のコードを使用します。
remove_filter( ‘the_excerpt’, ‘wpautop’ );
function wpse_wpautop_nobr( $content ) {
return wpautop( $content, false );
}
add_filter( ‘the_content’, ‘wpse_wpautop_nobr’ );
add_filter( ‘the_excerpt’, ‘wpse_wpautop_nobr’ );
自動整形機能を管理するプラグインを使用する
WordPressのwpautopのドキュメントページには、wpautopの設定を切り換えるプラグインへのリンクが貼られています。尚、このプラグインは、3年間更新されていないのでプラグインページに過去3度のWordPress メジャーリリースでのテストがされていない旨の警告メッセージが表示されます。とてもシンプルな機能のプラグインなので更新も滞っているようです。
あとがき
最近立ち上げたネイティブAMP対応ブログで、AMPの新しいコンポーネント、イメージスライダーの機能を記事内に設定したところ、動作はしたのですが、コード内にbrタグが自動挿入されて、AMPのバリデーションでエラーが発生したため、本記事内で紹介しているマニュアルで自動整形機能を無効にする設定を行いました。設定後、無事にAMPのバリデーションも合格しました。
関連記事:
2つの画像を並べて比較表示するAMP イメージスライダーの特徴と設定方法
コメントを残す(承認後表示されます)