9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WordPressフィルターフックとは

Posted at

#はじめに
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したフィルターを解除する関数.

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?