web-dev-qa-db-ja.com

フックで投稿ステータスを変更するにはどうすればいいですか?

メタボックスの有効性を確認するために[公開]ボタンをトラップする方法は?と同じような問題がありますか。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 );

編集:私はプラグイン、追加コードなどのない明確なワードプレスのインストールがあります

2
user1666774

save_postの2番目のパラメータとして完全な投稿オブジェクトを取得します。次のコードのようにステータスを変更するために使用します。

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 );
    }
}

投稿ステータスの一覧については、 この回答 を参照してください。

3
fuxia