本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
一直以來找這個「更新、修改或發佈內容」事件我都找到的是 save_post 這個 hook,直到上週意外找到這篇文章「WordPress Publish Post Hook」,發現驚為天人啊~
原來有權重這麼高的捕捉事件「transition_post_status」可以用,怎麼之前都沒查到呢!
參數有三個 string $new_status, string $old_status, WP_Post $post
分別是當前處理的最新狀態、處理前的狀態,最後是該篇內容物件。
透過狀態的改變以及搭配內容物件,全系統下走 WordPress 原生內容物件的類型(Post Type)都能捕捉以及設計出應用,豈不是很棒?!
範例程式如下:
<?php
function mxp_update_facebook_url_cache($new_status, $old_status, $post) {
// 發佈文章事件,不管先前狀態為何,新狀態是發佈就捕捉
if ('publish' === $new_status && $post->post_type === 'post') {
// 在這邊想幹嘛不用客氣拉!
}
}
// Add the hook action
add_action('transition_post_status', 'mxp_update_facebook_url_cache', 10, 3);