フックを知るだけでwordpressの拡張性は上がる

Author:
wordpresslogo

wordpressのプラグインやテーマでよく使われるのが、フックという機能。
この処理をやった時に、もし関数が用意されていたら実行しますよという機能です。
これを知っているだけでwordpressの機能ははるかに拡張できます。

フックには2種類あり、アクションフックとフィルターフックがあります。
前者は新しい処理を書き加える際に使われ、後者は変数にフィルターをかけるような使い方がされます。

例えば、使っている人も多いかと思われるSocial Bookmarking Lightプラグイン。
こんなフィルターフックがあります。

add_filter('the_content', 'wp_social_bookmarking_light_the_content');

これはthe_content、記事本文に対するフィルターを意味します。
どんなフィルターをかけるかというと、

    if( $options['position'] == 'top' ){
        return "{$out}{$content}";
    }
    else if( $options['position'] == 'bottom' ){
        return "{$content}{$out}";
    }
    else if( $options['position'] == 'both'){
        return "{$out}{$content}{$out}";
    }

オプションによってTwitterやFacebookのアイコンを本文に追加、という処理になっています。
僕はよく関数の引数やreturnを書き忘れて動かなくなったりするw

また、Twenty Fifteenのテーマのfunctions.phpにはこんなアクションフックがあります。

add_action( 'wp_enqueue_scripts', 'twentyfifteen_scripts' );

これはスタイルシートやJavaScript読み込み用に使われるフックです。
自作テーマ作る場合は必須。

こんな感じに、WordPressのテーマやプラグインを作る際にはフックの知識があると便利なので、覚えておくといいですよ。

Share on Facebook
Pocket