我想在用户或管理员或其他插件发送发布帖子时调用我的函数。
为此存在任何钩子? 我尝试了一些像publish_post这样的钩子。
但是如果我将我的代码放在发送帖子的插件中,这就行了。
我希望我的插件独立,当在任何插件或管理员或每个地方发送帖子....时,我的插件中的功能做了一些事情。
这是出于搜索引擎优化的原因,很难说我为什么要这样做。
我写的一些代码function post_published_notification($post) {
$ID= $post->ID;
$my_post = array(
'ID' => $ID,
'post_title' => "anything"
);
wp_update_post( $my_post );
}
add_action( 'publish_post', 'post_published_notification', 10, 2 );
答案 0 :(得分:0)
有一个名为save_post
- do_action( 'save_post', $post_ID, $post, $update );
的钩子。您可以检查$post->post_status
是否设置为已发布,并且可能会保留您自己之前是否已发布状态的记录。
如何使用它的示例:
function post_published_notification( $post_ID, $post, $update ) {
if ( $post->post_status == 'publish' && ! get_post_meta( $post_ID, 'published_notification_set', true ) ) {
update_post_meta( $post_ID, 'published_notification_set', 1 );
}
}
add_action( 'save_post', 'post_published_notification', 10, 3 );