Help us understand the problem. What is going on with this article?

WordPressフィルターフックとは

More than 3 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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした