New_to_Publish多次触发

时间:2014-02-14 作者:Sagive

我一直在尝试使用draft\\u to\\u publish&;new\\u to\\u publish
在发布特定类型(cpt)的帖子时创建更新。。。

它可以工作,但发布了600多次,而不是一次!

So... my question is

为什么会发生这种情况;如何验证它只发布一次(我花了10分钟删除)

here is code i currently have:

add_action(\'new_to_publish\', \'new_webnews_published\');
add_action(\'draft_to_publish\', \'new_webnews_published\');
function new_webnews_published($post_id){

    $postData       =   get_post($post_id);
    $post_id        =   $post_id;
    $postData       =   get_post($post_id);
    $postType       =   get_post_type($post_id);
    $postTitle      =   $postData->post_title;


    if($postType == \'webnews\') {

        // LINK TO WEBNEWS PAGE
        $webnewsPage    =   of_get_option(THEME_NAME.\'_webnews_select_page\');   

        // PREPARE UPDATE DATA
        $update_title   =   __(\'News\',THEME_NAME);
        $update_content =   $postTitle;
        $update_url     =   \'index.php?p=\'.$webnewsPage;


        $post = array(
            \'post_title\'    => $update_title, 
            \'post_status\'   => \'publish\',
            \'post_type\'     => \'miniupdate\'
        );

        $updatedid  = wp_insert_post($post, 10, 1);

        // Do the wp_insert_post action to insert it
        do_action(\'wp_insert_post\', \'wp_insert_post\', 10, 1); 
        update_post_meta($updatedid, THEME_PREF.\'miniupdates_content\', $update_content);
        update_post_meta($updatedid, THEME_PREF.\'miniupdates_link\', $update_url);

    }
}

Last Thing:我想测试变量,例如:“echo‘something’;

我想我需要创建第二个函数并附加到admin\\u init<但是这里的时间限制是什么?我是否应该在“初稿到发布”挂钩中添加一些内容?

1 个回复
最合适的回答,由SO网友:Sagive 整理而成

OK! found how to - 关于如何将函数附加到状态更改上的信息很少,但是这个钩子做得很好。

function miniupdate_webnews( $new_status, $old_status, $post ) {
    if ( $old_status == \'draft\' && $new_status == \'publish\' ) {

         // YOUR FUNCTION HERE...

    }
}
add_action( \'transition_post_status\', \'miniupdate_webnews\', 10, 3 );

结束

相关推荐

自定义状态的new_to_Publish挂钩的替代方案

我正在寻找合适的钩子,用于在插入帖子时发送电子邮件通知。然而,我使用的是自定义状态(在本例中为“holding”),它似乎不会被新的\\u to\\u holding钩子击中,所以我希望有人知道在插入帖子时被触发的替代方法,或者可能是钩子工作不正常的原因。