添加/更新帖子后的WordPress钩子和插入后的元素?

Chr*_*ert 3 wordpress hook custom-post-type

我有一个名为"视频"的自定义帖子类型,它也定义了一些自定义字段.创建或更新"视频"帖子后,我想运行一个功能.

不幸的是,这一功能需要与我刚刚创建的帖子的帖子元数据的值,和通常挂钩(save_post,publish_post,等)似乎是后元被插入到数据库之前运行,所以它不可用.

如果我只是通过单击"发布"手动更新帖子而不进行任何更改,则功能正常.

在插入所有元数据后,是否有一个钩子在此过程中稍后触发?

Chr*_*ert 9

有一个 无证钩子叫做updated_post_meta我需要的东西.

它将4个参数传递给钩子函数:元ID,对象ID(与帖子ID相同),元键和元值.在我的钩子函数中,我检查元键名是否是我需要值的字段,如果是,则继续.

这是它的样子:

/**
 * Use value of post meta for something when the post 
 * meta changes
 * @param  integer $meta_id    ID of the meta data field
 * @param  integer $post_id    Post ID
 * @param  string $meta_key    Name of meta field
 * @param  string $meta_value  Value of meta field
 */
function saveYouTubeInfo($meta_id, $post_id, $meta_key='', 
                                             $meta_value=''){

    // Stop if not the correct meta key
    if ( $meta_key != 'my_meta_field_name') {
        return false;
    }

    // Function code goes here.
}

add_action('updated_post_meta', 'saveYouTubeInfo', 10, 4);
Run Code Online (Sandbox Code Playgroud)

顺便说一句,与之不同的是added_post_meta,您不会替换post您所定位的帖子类型.在我的情况下,帖子类型的名称是videos,但我仍然必须使用updated_post_meta和不updated_videos_meta.