HOME

ABOUT

ARCHIVES

CONTACT

wordpress

[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

Toggle wpautop

このプラグインの優秀なところは、ページ単位でpタグの挿入を制御できる点です。
「プラグインをダウンロード」>「有効化」の後、管理画面から個別の編集画面の公開ボタンのすぐ上に「Disable wpautop」というチェックボックスが出現するので、チェックを入れればpタグの自動挿入をなくしてくれます。

メリット:

記事単位で制御ができるため、必要ページにのみ対応が可能

デメリット:

プラグインを使うので、読み込み数が増える

最後に

と、ここまで見てきましたが「どれがいいか?」という問いを投げかけられると、以下のどちらかを推奨します。

それは
「function.php」への記述/「テンプレートファイル」への記述
です。

これは納品後の管理をクライアントに任せるか、弊社で受け持つか、の違いで使い分けているのですが、
クライアントにお任せする場合は、後者のテンプレートファイル単位での設計が望ましいです。
なぜなら、クライアントの多くはHTML/CSSの知識があまり深くない方が多い為、不必要な単位でのpタグの自動挿入削除は望ましくないですし、「個別のページごとに管理できます!」といってもpタグの使い方がわからないからです。
逆に弊社で運用を行う場合は柔軟に編集が可能なため、「最初からpタグの挿入がないもの」と考えたほうが運用しやすいからです。

人それぞれ使い方はあると思いますので、上記はあくまでも弊社としての見解です。

という事で、今日はここまで。
誰かの役に立てば幸いです。


Warning: count(): Parameter must be an array or an object that implements Countable in /home/vuser03/2/7/0173272/www.panarea-is.com/wordpress/wp-includes/class-wp-comment-query.php on line 405