WordPress 5.6 新增动作钩子 wp_after_insert_post

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

近期文章

独立站要具备在线聊天功能吗?

在线聊天功能是用户和网站的即时沟通窗口,用户到访网站后,可以看到网页的角落悬浮着在线聊天框 ...

Shopify的利弊及费用,看完你就有答案了!

做跨境电商的一般都知道Shopify,尤其在年初京东宣布与Shopify达成战略合作之后, ...

独立站测速的正确姿势

网站的打开速度既影响搜索引擎对网站的评价,也和访客的体验度息息相关, 如果速度较慢,那么访 ...

公司网站建站更改域名怎么办?

为网站选择好一个最合适的域名是在网站策划之初就该完成的头等大事,一旦选定好了就不应当再多变 ...

WordPress 5.6新增REST API批处理框架

WordPress 5.6引入了一个框架,该框架可在对服务器的一个请求中进行一系列REST ...