WordPress自定义POST操作挂钩

时间:2015-05-11 作者:James Myers

我正在为wordpress开发一个插件,每当发布、发布、编辑、丢弃、未刷新等类型的自定义帖子时,我都想启动该插件(基本上只要该帖子类型有更新)。

我在寻找正确的动作钩时遇到了一些困难。我已经搜索过了,据我所知,我不能使用例如(publish\\u post),因为我使用的是自定义的帖子类型,所以它应该与(publish\\u job)或publish\\u post\\u job类似。然而,如果我进入工作类别并在工作类别中发布草案,这些似乎也不适合我。

所以,我想我有两个问题:

1) 在自定义帖子类型的上下文中,我应该使用的正确操作是什么。

2) a.我是否可以使用某种操作来涵盖对工作类别的各种更改(即:后期编辑、发布、取消发布、垃圾/取消垃圾等)。b、 如果没有,我将如何为所有这些可能的操作调用add_action。

非常感谢。

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

正如@Pieter所说,您可以使用transition_post_status:

function wpse_187997_job_status( $new_status, $old_status, $post ) {
    if ( $post->post_type === \'job\' && $new_status !== $old_status ) {
         // Post type "job" and status has changed
    }
}

add_action( \'transition_post_status\', \'wpse_187997_job_status\', 10, 3 );

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $