WordPress で記事本文を表示すると、Pタグが自動付加されるのはご存知でしょう。
これは、記事本文を表示する時に the_content というフィルターが起動すること、そしてこのフィルターにはPタグを自動付加する wpautop という関数がフックされているからですね。
※「フックってなに?」と思った方はこちらもどうぞ→ WordPress アクションフックとフィルターフック概論
また、the_content フィルターにフックして、Pタグが自動付加されるのを解除できることもご存知でしょうか。
一応書いておくと、こうですね。
remove_filter('the_content', 'wpautop');
ただし、これは WordPress の記事全体に影響を及ぼします。
特定の記事のみPタグの自動付加を解除することはできません。
「別にそれで構わない」と思った人は健全です。ここで引き返してくださいw
すでにたくさんの記事を書いているのに、ある日突然、Pタグ自動付加がどうしても解除したくなってしまった、もしくは解除しないとヤバい記事が出てきてしまった、という人向けです。(そんな事態が稀というかマニアック
フックしてPタグ自動付加を解除したいところですが、そうすると、いままで書いた記事からもPタグが消滅してしまいます。おそらく改行のない、ひたすら文字列で埋め尽くされた見にくい記事になってしまうことでしょう。
でもまさか、過去の記事をすべて書き直す、つまりPタグや改行タグを入れる、なんてことはしたくありませんし、気が遠くなります。
ということで、Pタグ自動付加を記事単位で解除するというマニアックなプラグインを作ってみました。
上記の悩みにブチ当たってしまった人は参考にどうぞ。
使い方
1. プラグインのインストール&有効化
remove_wpautop からダウンロードした zipファイルを解凍してプラグインフォルダに入れる。管理画面から有効化する。
2. カスタムフィールド追加
Pタグ自動付加を解除したい記事のカスタムフィールドに「名前: remove_p, 値: true」を追加する。
※念のための記載ですが、自身の責任の元において使用してください。
Comments
[…] http://hijiriworld.com/web/wordpress-remove_/ […]