wordpressでよく使った管理画面用アクションフック

wordpressでよく使った管理画面用アクションフック

Kazuya Takato

Kazuya Takato

いつも忘れて調べるので、最近使ったのをまとめます。

やりたかったのは特定の条件の記事が公開されたときに、特殊な処理をして、
非公開、削除になっても特殊な処理をしたいって感じです。

・publish_post
投稿が公開になったときに呼ばれます。
引数は投稿IDです。

// アクションの登録
 add_action( 'publish_post' , 'pub_post_method');

 funtion pub_post_method(ID){
    // 記事のIDを使ってあれこれする処理
 }

・deleted_post
投稿が削除された時に呼ばれます。
引数は投稿IDです。

// アクションの登録
 add_action( 'deleted_post' , 'del_post_method');

 funtion del_post_method(ID){
    // 記事のIDを使ってあれこれする処理
 }

でも、ゴミ箱にいれただけでは呼ばれない。

・transition_post_status
投稿のステータスが変更された際に呼ばれます。
引数は投稿IDです。

// アクションの登録
 add_action( 'transition_post_status' , 'tran_post_method');

 funtion tran_post_method(ID){
    // 記事のIDを使ってあれこれする処理
 }

投稿系の処理はこいつの中で、post_statusを見て、処理するのが一番いい気がします。
publish_postもdel_post_methodも使わくて済みました。
2.2以下だとないみたいです。

ついでに、クラスの関数を使いたい場合は下記のように。

// インスタンスを作っておく
  $obj = new MyClass();

  // アクションの登録
  add_action( 'transition_post_status' , array($obj , 'tran_post_method'));

これで、MyClassのtran_post_method関数が呼ばれます。

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

1983年生まれ。SIerとしてのキャリアをスタートし、JavaやC#を中心に多岐にわたる開発プロジェクトにエンジニアとして参加。その経験を活かし、LIGを創業。バックエンドおよびフロントエンドエンジニアとしての深い知識と経験をもとに、多様なプロジェクトに従事。2023年7月には社長室室長に就任にし、社内の体制やルールの最適化、AI技術の推進など、経営戦略の一翼を担っています。

このメンバーの記事をもっと読む