WordPressのフィルターフックを削除する

この記事が良ければ、ぜひシェアお願いします

WordPressのテーマを作成していたり、カスタマイズしているときに、「あれ、なんか勝手に<p>タグが付いてるぞ!?」と思い、思い通りにデザインできずに四苦八苦したことはないでしょうか?実は私はそんな一人です(笑)
そのせいで、「横並びにしたいのに上手く並んでくれない!」とCSSと格闘していました。しかし、この<p>タグを勝手に付けるのはWordPressだったのです。

フックという言葉自体は知っていたものの、概念で勝手に理解していたのですが、Web Design RECIPESさんでとても分かりやすく説明されており、ここで<p>タグが付けられているWordPressのフィルターの存在をきちんと知りました。(作者の高橋のりさんにはとても感謝です!)

■参考サイト : WordPressをカスタマイズするなら覚えておきたいアクションフックとフィルターフック | Web Design RECIPES

フィルターによって<p>タグを外すのを止めたい

昔は面倒だったの<br>タグで何でもかんでも済ませてしまっていたのですが(笑)、普段記事を書くときから意識的に段落毎に<p>タグを付けている自分にとっては、意図しないところに<p>タグを付けるのを止めたいと考えていました。
これはフィルターフックのフックを削除することで実現が可能になります。

自動で<p>タグを削除する

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

ここでは、”remove_filter”という関数を使っています。この”remove_filter”という関数は、WordPress Codexで見ると、「特定のフィルターフックに付けられている機能を取り除く機能」となっています。

This function removes a function attached to a specified filter hook. This method can be used to remove default functions attached to a specific filter hook and possibly replace them with a substitute. See also remove_action(), add_filter() and add_action().

Important: To remove a hook, the $function_to_remove and $priority arguments must match when the hook was added. This goes for both filters and actions. No warning will be given on removal failure.

また、この関数の引数となっている”wpautop”というものですが、そのまま英語が横並びになっていて分かりにくかったりしますよね(笑)
スペース区切りして意味を考えると、”wp auto p”、つまり”WordPressで自働に<p>タグを付けるという意味でしょうか。こちらも、WordPress Codexで確認しておきたいと思います。

Changes double line-breaks in the text into HTML paragraphs (<p>…</p>).

WordPress uses it to filter the content and the excerpt.

“line-breaks”というのは、強制改行ですね。
(強制改行とは、複数の行にまたがる文を強制的に改行させることです。)
直訳すると、「二重の強制改行をHTML段落のテキストに変える」ということでしょうか。(訳が間違っていたらすいません。。。汗)

ファンクションを取り除くのは簡単ですが、奥深いですね、WordPressのコア・・・(-.-;

スポンサーリンク

この記事が良ければ、ぜひシェアお願いします

もぐ
年齢 : 30代半ばの1児の新米パパ。ITネットワークから始まり、WEBディレクター、WEBシステム系のプロマネ、データ分析など色々やってるエンジニアです。WordPress、Webサービス構築、BIツール、IoTなどがトレンド。新しくて面白い仕事募集中。
スポンサーリンク