温馨提醒

如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

本文最后更新于2020年11月22日,已超过 30天没有更新

WordPress 5.6 新增了一个动作挂钩
wp_after_insert_post,以允许主题和插件开发人员在文章及其分类项和元数据已更新后运行自定义代码。 原有的
save_post和相关动作钩子也可以用于此目的,但这些钩子会在经典编辑器之外的场景中(例如,在REST API、定制器中以及创建自动草稿时),在分类项和元数据被更新之前触发。 新钩子最多发送三个参数:

  • $post_id已更新的文章ID,为整数
  • $post已更新的文章的完整对象,即WP_Post对象。
  • $updated 该文章是否已更新,为布尔值。

默认情况下,WordPress在
wp_insert_post()末尾触发此钩子。该函数中添加了第三个参数,以允许开发人员阻止该挂钩自动触发:

  • $fire_after_hooks是否插入wp_after_insert_post钩子,布尔值,可选,默认true

相同的参数已被添加到
wp_update_post()作为第三个参数和添加到
wp_insert_attachment()作为第五个参数。 如果开发人员调用了这些函数中的任何一个并阻止了钩子触发,则可以预期他们将手动调用新函数
wp_after_insert_post()来触发新动作。此新功能需要两个参数:

  • $post已保存的文章ID或对象,整数WP_Post对象
  • $update 文章是否已更新,布尔值。

简单示例 如果您正在调用
wp_insert_post()或上面列出的相关函数之一,则如果您随后分别更新文章的分类项或元数据,建议您阻止该钩子运行并手动调用它。例如:

$post_id = wp_insert_post(
    array(
        'post_title'   => 'My post title',
        'post_content' => 'My post content',
        'post_type'    => 'my_cpt',
    ),
    false,
    false
);
 
add_post_meta( $post_id, 'my_meta_key', 'my meta value' );
 
wp_after_insert_post( $post_id, false );
// Second parameter is true for an updated post.

了解更多,请看官方日志。

版权声明:原创作品,未经允许不得转载,否则将追究法律责任。
本站资源有的自互联网收集整理,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
本文链接:悟空资源网https://www.wkzyw.com/1814.html
许可协议:《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权