WordPressの開発において、アクションやフィルターに適用できる関数をアクションフックと呼びます。WordPressをカスタマイズ可能にしている大きな特徴のひとつです。
フックを使うことで、開発者はWordPressのコアコード自体を編集することなく、WordPressの機能を変更したり拡張したりすることができます。アクションやフィルターを実行することで、タスクの実行やデータの変更を行います。
プラグインやテーマの開発者によって広く使われている。しかし、もしあなたが開発者でないなら、ウェブからコード・スニペットを貼り付けて、あなたのサイトに新しい機能を追加することができます。これらの多くにはフックが含まれている。
フックとは何か?
フックはWordPressプラグインとテーマ開発の基礎です。開発者がカスタムコードをWordPressの特定の場所に「フック」し、コアファイルを編集することなくWordPressの動作を変更できる場所です。
開発者はWordPressの機能を変更したり拡張したりするためにフックを使用します。また、オンラインチュートリアルのコードスニペットを追加することで、アクションを使ってテーマをカスタマイズすることもできます。
注:初心者の方は、WordPressファイルを編集しないよう強くお勧めします。functions.phpファイルの編集に慣れていて、PHPの知識がある経験豊富なユーザーだけが、この方法を試してください。
初心者は、プラグインを使って実行したいタスクを実現するか、プロに相談してコードを編集してもらうべきだ。
WordPressサイトのコードを編集する前に、コーディングエラーに備えてサイトをバックアップしておくことをお勧めします。バックアッププラグインをお持ちでない場合は、WordPressバックアッププラグインを比較した投稿をご覧ください。
フックにはフィルターフックとアクションフックの2種類がある。
フィルターフックとは?
フィルターは特定の関数の初期設定を変更します。これは、受け取ったデータを操作し、ブラウザーに表示される前にWordPressにそのデータを返すことで行います。
例えば、フィルターはテキストの切り捨て、コンテンツのフォーマットの変更、投稿へのリンクの添付、ページ上のブロックの変更、データベースから取得したオプションの変更などに使用できます。
WordPressでフィルターフックを使用した例です:
function wpb_custom_excerpt( $output ) {
if ( has_excerpt() && ! is_attachment() ) {
$output .= wpb_continue_reading_link();
}
return $output;
}
add_filter( 'get_the_excerpt', 'wpb_custom_excerpt' );
上記のサンプルコードでは、get_the_excerpt
フィルターにフックされるwpb_custom_excerpt
関数を作成しています。
アクションフックとは何か?
アクションは特定の機能の初期設定を変更します。WordPressから何らかの情報を受け取り、それを使って何かを行います。一度アクションが実行されると、WordPressに情報を戻す必要はありません。
例えば、ページに宣伝メッセージを掲載したり、プラグインを有効化したり、サイドバーにウィジェットを追加したり、投稿を公開したり、ヘッダーにメニューを追加したりするためにアクションを使用することができます。
WordPressのアクションにフックを適用した例です:
function mytheme_enqueue_script() {
wp_enqueue_script( 'my-custom-js', 'custom.js', false );
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_script' );
上のサンプルコードでは、wp_enqueue_scripts
アクションにフックされる関数mytheme_enqueue_scriptを
作成しています。
WordPressのフックについて、この投稿がお役に立てれば幸いです。また、WordPressの便利なTipsやトリック、アイデアに関する関連投稿は、以下の「Additional Reading」リストをご覧ください。
このガイドを気に入っていただけたなら、WordPress動画チュートリアルのYouTubeチャンネルの購読をご検討ください。Twitterや Facebookでもご覧いただけます。