ワードプレス>ワードプレスのアクションフックの基本

ワードプレスのアクションフックの基本

2018年5月26日

先日、フィルターフックについて書きましたが、今回はアクションフックについて書きます。

ワードプレスのフィルターフックの基本を理解する

 

アクションフックを使いこなすと、高度なプラグインとかが作成できるようになりそうですね。
ワードプレスのアクションに関連して関数を呼び出せるようになります。

 

具体的には、記事を投稿した時とか、管理画面を開いたときとか

あと、get_header() もアクションフックです

 

今回も単純な例でやっていきます

 

 

超単純なアクションフックを利用してみる

まずは先ほど出てきた、get_header()を使ってみます。

 

functions.phpに記載します

 


function my_head(){
    echo "get_headerに追加で記載しました";
}
add_action('get_header','my_head');
    

これを書くと

get_headerを利用した時にmy_headが実行されます

「get_headerに追加で記載しました」

という文字列が表示されます。

フィルターフックと同じような感覚で使えますので

フィルターフックに慣れている人は、すんなり使えるようになんだと思います

 

 

 

管理画面をカスタマイズする

 

まずは参考サイトを載せておきます
管理メニューの追加

 

 

メリーラでも管理画面のカスタマイズを行っています。

メリーラでは管理画面でメタキーワードを設定する項目を追加しています。

 

 

管理画面のカスタマイズをしようとした時に必要になってくるのがアクションフックです。

 

 

今回は説明を簡単にするために、管理画面に自作メニューという項目を追加するということをやってみます。

 

まずはfunctions.phpに以下を記載します

 


function my_menu() {
  add_options_page('自作メニュー', '自作メニュー', 10, 'my_menu', 'my_menu_page');
}

function my_menu_page() {
    echo "自作メニューです";
}

add_action('admin_menu', 'my_menu');

 

 

このコードを記述するとワードプレスの管理画面の設定に、自作メニューという項目が追加されます。
その項目を選択すると自作メニューです。と表示されるのがわかるかと思います。

 

 

 

ここで使用されているのがアクションフックです。

 

add_action(‘admin_menu’, ‘my_menu’);

 

admin_menuにmy_menuという関数をフックしています。

 

 

admin_menuというアクションフックを利用して、my_menu関数を呼び出し、その中でadd_options_pageという関数を呼び出しています。

add_options_pageは 設定メニューにサブメニューページを追加するメソッドです。

 

関数リファレンス/add options page

 

 

 

簡単ではありますが、アクションフックについて説明しました。
アクションフックを利用することで、よりコアな設定を変更できることがわかりました。

アクションフックを使えば、記事投稿が完了した際にツイッターで自動的にツイートするとか、メールで記事内容を送信するとか、色々なことができます。

 

フィルターフックよりもよりコアな設定を操作できるようになるので、使いこなせれば自由自在にワードプレスを操れるようになれそうですね。