ちょっと気になったので備忘録。
今回の記事について
WordPressの初期設定では、管理画面から記事を投稿するとソースに <p> タグが自動挿入されてしまいます。特にコーポレトサイトの場合、この<p> タグ自動挿入によってレイアウトが崩れたり、デザイン制御が出来なくなるなど、なかなかこれが厄介な問題です。
プラグインを利用することなく <p> タグ挿入を無効にする方法もあるようなのですが、わたしの場合は、その方法を実践しても上手く出来ないでおりました。色々調べてみると、brBrbrプラグインの影響で上手く動かなくなっているのではないか??という所まで突き止めたので、<p> タグの自動挿入を無効にする方法に加えて、brBrbrプラグインとの併用についても対策してみました。
※brBrbrプラグインのバグなどではなく、恐らくはわたし側のデザインレイアウトの問題も結構あると思います。。。同様のケースでお悩みの方がいらっしゃれば、参考にしていただけますと幸いです。
<p> タグの自動挿入を無効にする
今回は固定ページに関しては<p> タグの自動挿入を無効にし、投稿ページに関しては<p> タグ挿入はそのまま、という条件のもとにカスタマイズすることにしております。まずは<p> タグの自動挿入を無効にする方法については 自動挿入される<p> タグと<br>タグを無効にする « WordPress小技集 様の記事でも紹介されております通り、<p> タグを無効にしたいテーマファイル(固定ページのpage.phpなど)に対して
1 2 3 4 |
<? remove_filter('the_content', 'wpautop'); the_content(); ?> |
と記述してあげます。
※WordPress小技集 様の記事で紹介されているようにfunction.phpに書いても良いのですが、今回は固定ページに対してのみカスタマイズできればと考えておりましたので、個別に回避処理を入れるようにしております。
これで、固定ページに関しては<p> タグの挿入を無効にできる…はずなのですが、ただ、これだけだと brBrbrプラグインを利用(有効化)している場合に<p> タグが挿入されたままになってしまい、また改行個所が<br />タグとしてソースに吐き出されしまうという結果に。。。
固定ページ側のデザインの問題(マークアップ方法)もあるとは思いますが…、brBrbrプラグインを無効にすれば、正常に<p> タグが消えてくれましたので、さて、どうすれば良いか…と悩んだ結果…
以下の方法で解決することにしました。
<br> タグを無効にする
brBrbrプラグインのphpファイル(brBrbr.php)を覗いてみたら、こんな記述がありました。
1 2 3 |
<?php add_filter('the_content','brBrbr'); ?> |
これをもとに、(1)と同様に page.php などのテーマファイルの記述を
1 2 3 4 5 |
<? remove_filter('the_content', 'wpautop'); remove_filter('the_content','brBrbr'); the_content(); ?> |
としてあげると、固定ページでも<p> タグが無効化され、思った通りのレイアウトが実現できました。
固定ページ以外の投稿ページについては、きちんと brBrbrプラグインの影響を残したまま、<br > による改行が反映されていました。
functions.php にソースを書いてあげればもっとスマートになるやもしれませんが、もちっとこの辺りを調べてみようと思います。
コメント