我正在编写一个插件,它从XML文件中提取一些数据,然后根据其内容创建一篇文章。
我在考虑使用wp_insert_post()
发布新帖子,但我有一些功能publish_post
.
在\\wp-includes\\post.php
, 我找不到publish_post
此事件触发的操作挂钩。
只有这些钩子和我的案子有关:
// Fires once an existing post has been updated.
do_action( \'post_updated\', $post_ID, $post_after, $post_before);
// Fires once a post has been saved.
do_action( \'save_post\', $post_ID, $post, $update );
//Fires once a post has been saved.
do_action( \'wp_insert_post\', $post_ID, $post, $update );
我错过什么了吗?或者没有
wp_insert_post()
触发
publish_post
行动
最合适的回答,由SO网友:birgire 整理而成
它是在wp_publish_post()
这就要求:
wp_transition_post_status( \'publish\', $old_status, $post );
可以通过以下方式动态触发操作调用:
do_action( "{$new_status}_{$post->post_type}", $post->ID, $post );
在哪里
"{$new_status}_{$post->post_type}"
成为
"publish_post"
在你的情况下。