ワードプレスで勝手に出力されるpタグを制御する
wrodpressで出力した本文はpタグで囲まれた状態で出力されます。
この機能は便利なのですが、邪魔になることもあります
ケースごとに消す方法を書き残しておきます
カスタムフィールドの値も一部pタグで囲まれてきます
今回はこいつらをどうにかしていきます。
the_contentやthe_excerptのpタグをどうにかする
全体的にpタグで囲まないように設定するときは、functions.phpに記述します 下記のコードを入れるだけで本文や抜粋文のpタグは出力されないようになります
1 2 3 4 |
// 記事のpタグを出力しない remove_filter('the_content', 'wpautop'); // 抜粋のpタグを出力しない remove_filter('the_excerpt', 'wpautop'); |
注意点
pタグと一緒にbrタグも削除されます
気を付けましょう
特定のテンプレートのみで設定する場合
各テンプレートごとに設定したいのであればthe_contentを出力する直前にコードを記述しておくとそのテンプレートだけでpタグを消せる
1 2 |
<?php remove_filter ('the_content', 'wpautop'); ?> <?php the_content(); ?> |
imgを勝手に囲うpタグだけををどうにかする
これはアクションフックを使うしかないので下記をfunctions.phpにコピペ
1 2 3 4 5 |
<?php function remove_p_on_images($content){ return preg_replace('/<p>(\s*)(<img .* \/>)(\s*)<\/p>/iU', '\2', $content); } add_filter('the_content', 'remove_p_on_images'); |