Php Wordpress自定义post操作挂钩

Php Wordpress自定义post操作挂钩,php,wordpress,custom-post-type,Php,Wordpress,Custom Post Type,我正在为wordpress开发一个插件,每当发布、发布、编辑、丢弃、未刷新等类型的自定义帖子时,我都会启动该插件(基本上只要该帖子类型有更新) 我在寻找正确的动作钩时遇到了一些麻烦。我已经搜索过了,据我所知,我不能使用例如(publish_post),因为我使用的是自定义的post类型,所以它应该与(publish_job)类似。然而,如果我进入工作类别并在工作类别中发布草稿,这似乎对我也不起作用 所以,我想我有两个问题: 1) 在自定义帖子类型的上下文中,我应该使用的正确操作是什么 (二) A

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

我在寻找正确的动作钩时遇到了一些麻烦。我已经搜索过了,据我所知,我不能使用例如(publish_post),因为我使用的是自定义的post类型,所以它应该与(publish_job)类似。然而,如果我进入工作类别并在工作类别中发布草稿,这似乎对我也不起作用

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

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

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


谢谢大家!

你的意思是这样的吗?每次自定义帖子“作业”状态发生更改时,都会触发此操作。如果您想执行特定于操作的操作,只需在If子句中添加一个检查

<?php    
function run_on_all_job_status_transitions( $new_status, $old_status, $post ) {
    if ($post->post_type == 'job') {
            // do stuff
    }
}
add_action( 'transition_post_status', 'run_on_all_job_status_transitions', 10, 3 );

不确定是否只有一个操作,但以下是各种操作:

  • 保存帖子(创建或更新)

  • wp_删除_帖子(已删除)

  • 垃圾站(垃圾站)

所以你可以这样做:

function my_callback_function() {

    if($post->post_type = 'job') {
        //do something here
    }
}

all_actions = array('save_post','wp_delete_post','wp_trash_post');

foreach ($all_actions as $current_action) {

    add_action($current_action, 'my_callback_function');
}

请尝试这些链接,谢谢这些链接,但是我找不到我的答案。wordpress不建议对插件或主题使用“转换后状态”操作。wordpress建议使用“转换后状态”操作,但wordpress不建议使用不推荐使用的“转换后状态”功能