ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

【WordPress】add_filter()とapply_filters()

スポンサードリンク

header.phpのなかに検索フォームがあるんだけど、特定のページには、その下に検索情報を追加したいとのこと。

おーう。めんどくせぇ。header.php増やす?増やせるけど、きたねえなおい。

ってなったけど。よく考えたらadd_filter()あんじゃん。それの逆で自分でfilterを登録できるやつをheader.phpに追記すればいいじゃんと思った。

ということでできました。

関数リファレンス/add filter - WordPress Codex 日本語版

関数リファレンス/apply filters - WordPress Codex 日本語版

  1. apply_filters('名前', 'filterにフックした関数に渡す値')を、フックを実行したい箇所に書く
  2. functions.phpとかで、add_filter('apply_filterで宣言した名前', '実行したい関数')する

これが流れ。

<?php
// ... 省略
<?php apply_filters('after_search', ''); ?>
<?php
add_filter('after_search', function($string) {
    get_template_part('template-parts/parts', 'area-link');
    return $string;
});
get_header(); ?>

これでうまくいきましたぁあああ!!!