Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

WordPressフィルターフックとは

More than 5 years have passed since last update.

はじめに

WordPressのadd_filter関数を使っている参考書を読んだが,いまいちどういったことをする関数なのかをつかめなかったのでメモを取ろうと考えた.

フィルターフック

フィルターフックは,単純にフィルターとフックに分けられる.

1.フィルターとは

WordPressは様々な入出力を行う際にフィルターという処理を行っている.
例えば,文字を出力する際に全てにpタグが自動的に適応されるといったことがあげられる.

2.フックとは

フィルターにフックするということで,フィルターが実行される際に引っ掛かって一緒に実行されると考えられる.

実際の動作

add_filter(
'フックされるWordPressのAPI',
'フックした際に実行される関数',
(数値)同じ関数をフックする際にどっちを優先するかの度合い(数値が小ほど優先される),
(数値)フックした際に使う引数の数
);

例えば
hogehoge.php

<title>
  <?php
    function the_my_name( $title, $id ){
      return 'kokoax';
    }
    add_filter( 'the_title', 'the_my_name', 10, 2 );
    the_title();
    remove_filter( 'the_title', 'the_my_name' );
  ?>
</title>

といった感じで実行するとtitleがkokoaxになってくれる.

  • 引数に関してはフックする関数によって戻り値が異なるので適宜調べて実装する.
    the_title()の場合は,title名とその記事のIDを戻すので引数の数は2になる.

  • remove_filterはadd_filterしたフィルターを解除する関数.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away