【wordpress】webhookを受ける仕組み
wordpressで、webhookの通知を受けて自動処理をする仕組みを調べてみました。
結論から言うと
wordpressでwebhookの通知を受けるのに、下記hook(両方、もしくはどちらか)を定義して、任意実行したいPHPコードを書けばいいです。
・「wp_ajax_アクションの名前」
・「wp_ajax_nopriv_アクションの名前」
webhook通知を受ける流れ
1、(webhookだから他のサイトから)javascriptで/wp-admin/admin-ajax.php?action=hogeをへリスエストする。
※今回ではアクションの名前をhogeとしている。
2、admin-ajax.phpが登録しているhookを探して実行する。
具体的には下記2種類があります。
・「wp_ajax_アクションの名前」:ログインしているユーザ用
・「wp_ajax_nopriv_アクションの名前」:ログインしていないユーザ用
※今回は追加するhookの名前は、「wp_ajax_hoge」と「wp_ajax_nopriv_hoge」になるます。
下記のように、hookを追加することが必要になる。
1 2 3 4 5 6 7 | add_action( 'wp_ajax_hoge', 'hoge' ); add_action( 'wp_ajax_nopriv_hoge', 'hoge' ); function hoge() { // この関数を実装必要 // 任意phpコード // json形式で返すことも可、ページを遷移せずに表示を更新することが可能になる。 } |
3、hookを実行することは、上記のhoge()関数を実行すること。
おまけ
wordpressでは、通知を受けるだけではなく、通知を起こすこともできます。
通知を起こすことができるイベントは公式では、「記事を公開する」、「ページを公開する」、「コメントをする」この3つだけのようです。
wordpress webhook
Author Profile
スターフィールド編集部
SHARE