我可以在每个插件或用户发送发布帖子时调用我的wordpress插件中的函数吗?

时间:2014-10-19 18:45:28

标签: wordpress wordpress-plugin hook

我想在用户或管理员或其他插件发送发布帖子时调用我的函数。

为此存在任何钩子? 我尝试了一些像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 );

1 个答案:

答案 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 );