WordPress 5.6 新增动作钩子 wp_after_insert_post

wordpress-actions

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.
了解更多,请看官方日志

近期文章

什么是SEO

当我们看到SEO这三个字母时,是不是会浮现出很多的 …

查看更多 →

震惊,外贸独立站low爆了!

很多外贸企业希望通过独立站引流, 响应诉求,我们前 …

查看更多 →

百度SEO和谷歌SEO有什么区别?

写SEO每天一贴10多年了,读者留言一直有一个现象 …

查看更多 →

做SEO多久才能看到效果?

文章由点津技术顾问昝辉Zac原创于博客 我国SEO …

查看更多 →

外贸SEO应该怎样做?(转载)

这几年做外贸SEO的越来越多,背后原因很复杂,不去 …

查看更多 →

WordPress 5.6新增REST API批处理框架

WordPress 5.6引入了一个框架,该框架可 …

查看更多 →
Scroll to Top