[WP]wordpressで自動挿入されるpタグを削除する方法
はじめに
ワードプレスでホームページを運用していて、「pタグの自動挿入いらないのになぁ」と思うことが度々あったため、都度調べていたのですが、いい加減頭に叩き込もうと思い、記事にしました。
今後同様の悩みを抱える方の参考になればと思います。
pタグを削除する方法は一つじゃない
自動挿入されるpタグは「function.php」内の記述で制御されるため、こいつを編集すれば万事OKとなるのですが、納品時に利用する方の使い方次第で、投稿項目によってはpタグはデフォルトのままがいい!といった場合もあります。
そこで、以下の3つの方法を見ていき、シチュエーションによって使い分けましょう。というお話です。
ちなみに、pタグの制御は以下の3種類の方法で行うことができます。
「function.php」への記述
「テンプレートファイル」への記述
プラグインを使う
次からはそれぞれの説明をメリット・デメリットを加えて記載していきます。
「function.php」への記述
まずは上述もしましたが、「function.php」への記述から
この場合は、「function.php」に以下の記述を加えます。
remove_filter('the_content', 'wpautop');
remove_filter( 'the_excerpt', 'wpautop' );
記述コードを見れば分かりますが、the_content(),the_excerpt()で吐き出されるコードへのpタグの自動挿入をしない。といった記述ですね。
メリット:
一発で全てのページからpタグの挿入をなくすことができる。
デメリット:
全てのページである以上、ページごとの融通が効かない。
「テンプレートファイル」への記述
次は、「テンプレートファイル」への記述について
テンプレートファイル内のthe_content();の前に以下のタグを記述します。
<?php remove_filter('the_content', 'wpautop'); ?>
<?php the_content(); ?>
「function.php」で見たのと同じコードですね。これを個別でテーマファイルに書き込むだけです。
メリット:
個別の対応ができるため、柔軟性に富む。
デメリット:
一つ一つ設定する必要があるため、ボリュームの大きい独自のテーマファイルを組んでいる場合若干の手間がかかる。
プラグインを使う
最期は安定のプラグイン頼みです。
実際に使ってみて具合のよかったものをご紹介します。
Toggle wpautop
このプラグインの優秀なところは、ページ単位でpタグの挿入を制御できる点です。
「プラグインをダウンロード」>「有効化」の後、管理画面から個別の編集画面の公開ボタンのすぐ上に「Disable wpautop」というチェックボックスが出現するので、チェックを入れればpタグの自動挿入をなくしてくれます。
メリット:
記事単位で制御ができるため、必要ページにのみ対応が可能
デメリット:
プラグインを使うので、読み込み数が増える
最後に
と、ここまで見てきましたが「どれがいいか?」という問いを投げかけられると、以下のどちらかを推奨します。
それは
「function.php」への記述/「テンプレートファイル」への記述
です。
これは納品後の管理をクライアントに任せるか、弊社で受け持つか、の違いで使い分けているのですが、
クライアントにお任せする場合は、後者のテンプレートファイル単位での設計が望ましいです。
なぜなら、クライアントの多くはHTML/CSSの知識があまり深くない方が多い為、不必要な単位でのpタグの自動挿入削除は望ましくないですし、「個別のページごとに管理できます!」といってもpタグの使い方がわからないからです。
逆に弊社で運用を行う場合は柔軟に編集が可能なため、「最初からpタグの挿入がないもの」と考えたほうが運用しやすいからです。
人それぞれ使い方はあると思いますので、上記はあくまでも弊社としての見解です。
という事で、今日はここまで。
誰かの役に立てば幸いです。