[WordPress] 自動整形機能によるタグの追加を制御する方法

2017年03月15日
Sponsored Link

wordpress1

WordPressのエディタは改行すると<br>タグ、1行あけて改行すると<p>タグが入ります。

この機能は /wp-includes/default-filters.php にwpautop関数がフィルターフックされていることで自動整形機能が働くことによるものです。

add_filter( 'the_content', 'wpautop' );

これはHTMLの知識なく行った更新でも、正しいタグが追加されるという親切な部分もありますが、テーマを自由に制作するような場合には、この機能はちょっと邪魔になります。特にテキストエディタからビジュアルエディタに切り替えるだけで自動整形されてしまうのはクライアントから委託制作を行うWEB制作者にとっては見過ごせません。

そのため、この自動整形機能を制御する必要があリます。

簡単に考えれば、/wp-includes/default-filters.php にある該当のソースをコメントアウトすれば停止できますが、コアアップデートの度にチェックするのは面倒なので、別の方法で制御します。

functions.phpを使って制御

functions.phpに次のように追記してwpautop関数を除去します。

remove filter( 'the_content', 'wpautop' );

/wp-includes/default-filters.phpでは記事だけではなく、抜粋(the_excerpt)やコメント(comment_text)も自動整形されているので、そっちも必要に応じて制御できます。

remove filter( 'the_content', 'wpautop' );
remove_filter('the_excerpt', 'wpautop');
remove_filter('comment_text', 'wpautop');

テンプレート毎に個別制御

single.phpやpage.phpのループ内で使われているテンプレートタグ<?php the_content(); >の直前にremove filterを追記することで個別に制御できます。

<?php remove_filter('the_content', 'wpautop'); ?>
<?php the_content(); ?>
follow us in feedly

関連記事

福岡のウェブデザイン事務所「ハブワークス」

HP作成・リニューアルは福岡のハブワークスまでお気軽にお問い合わせください。ウェブサイト公開後の修正・更新もお任せください。フリーランスだからできるリーズナブルな料金設定でサービスをご提供いたします。

webサイト制作・修正に関するお問合せ・ご相談・お見積りはお気軽にどうぞ