cssで+(隣接セレクタ)を使ったスタイルを実装したかったんですが、うまく動いてくれない。ソースを確認したところ、覚えのないpタグが勝手に入っていたことが原因でした。
WordPressではwpautopという関数により、pタグを自動挿入してテキストを整える仕組みになっているそうです。このpタグが勝手に入らないようにする方法を紹介します。
勝手に入るpタグを消す方法
全てのページでpタグが勝手に入らないようにする場合と、特定のページだけにしたい場合で対処方法が異なります。
全てのページで消したい場合
全てのページでpタグを勝手に入らないようにしたい場合はfunction.phpに下記のコードを追加します。
// 記事に適用
remove_filter('the_content', 'wpautop');
// 抜粋に適用
remove_filter('the_excerpt', 'wpautop');
特定のページで消したい場合
固定ページや個別投稿ページなど、特定のページのみでpタグが勝手に入らないようにしたい場合はテンプレートファイルを修正します。
たとえば個別投稿に適用したい場合、single.phpでthe_content();と書かれている箇所を探します。そしてthe_content();の直前に下記のコードを追記してください。
<?php remove_filter ('the_content', 'wpautop'); ?>
注意事項
今まで勝手に入っていたpタグを消すと、予期せぬ表示崩れが起こるかもしれません。バックアップを取るなど、十分注意して行ってください。
記事がたくさんある状態だと表示確認が大変なので、なるべく早めに対処することをおすすめします。