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

域名是一种互联网的无形资产,品牌、搜索引擎排名、流 …

查看更多 →

为什么90%的独立站都没流量?

这几年随着疫情的持续影响,大家对于网络营销的热情空 …

查看更多 →

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

做跨境电商的一般都知道Shopify,尤其在年初京 …

查看更多 →

用户行为影响网站排名——百度点击器与快排的作弊原理

SEO对自身内容的要求,是其具备相关性、权威性与实 …

查看更多 →
Scroll to Top