About This Site

WordPressでcssの+(隣接セレクタ)が効かない…勝手に入るpタグが原因かも?

ブログ運営

cssで+(隣接セレクタ)を使ったスタイルを実装したかったんですが、うまく動いてくれない。ソースを確認したところ、覚えのないpタグが挿入されていたことが原因でした。

WordPressではwpautopという関数により、pタグを自動挿入してテキストを成型する仕組みになっているそうです。

pタグの自動挿入を停止する方法

全てのページのpタグ自動挿入を停止する場合と、特定のページだけにしたい場合で対処方法が異なります。

全てのページで停止したい場合

WordPressの全てのページでwpautopを停止したい場合はfunction.phpに下記のコードを追加します。

// 記事に適用
remove_filter('the_content', 'wpautop');
// 抜粋に適用
remove_filter('the_excerpt', 'wpautop');

特定のページで停止したい場合

固定ページや個別投稿ページなど、特定のページのみで停止したい場合はテンプレートファイルを修正します。

たとえば個別投稿に適用したい場合、single.phpでthe_content();と書かれている箇所を探します。そしてthe_content();の直前に下記のコードを追記してください。

<?php remove_filter ('the_content', 'wpautop'); ?>



注意事項

pタグの自動挿入を停止すると、予期せぬ表示崩れが起こるかもしれません。バックアップを取るなど、十分注意して行ってください。

コメント

タイトルとURLをコピーしました