如何在挂钩中更改开机自检状态?

时间:2013-01-05 作者:user1666774

我有类似的问题,如中所述How to trap "Publish" button to check for meta box validation?答案就在这里save_post 并更改帖子类型。我该怎么做?我尝试使用wp_transition_post_status 但这对我不起作用。。。

function myHook( $post_ID, $post )
{

    wp_transition_post_status(\'pending\', $post->post_status, $post );

}

add_action( \'save_post\', \'myHook\', 10, 2 );
编辑:我有清晰的wordpress安装,没有任何插件、附加代码和类似内容

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

将完整的post对象作为上的第二个参数save_post. 使用它来更改状态,就像下面的代码一样。

add_action( \'save_post\', \'wpse_78351_status\', 10, 2 );

function wpse_78351_status( $post_ID, $post )
{
    remove_filter( current_filter(), __FUNCTION__ );

    if ( \'trash\' !== $post->post_status ) //adjust the condition
    {
        $post->post_status = \'draft\'; // use any post status
        wp_update_post( $post );
    }
}
请参见this answer 查看post状态列表。

结束

相关推荐

delay function on publish?

我有一个通过add\\u操作挂钩调用自定义函数的函数:add_action(\'publish_post\', \'custom_function\');... 现在它工作得很好,但我希望custom\\u函数延迟,以便在发布帖子后运行。但是,如果我加上sleep(20) 内部custom_function 它会延迟邮件本身。我想要的是发布帖子,然后在x秒后运行此函数。谢谢