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