是否使用wp_Delete_POST删除已发布和未发布的帖子?

时间:2021-09-02 作者:user3161924

有一个函数可以删除给定帖子类型中的所有帖子,但不会删除状态为“的项目”;草稿;。它将如何捕获草稿项目呢?

   function remove_all_kba_data(){
        //remove articles
        $articles = get_posts( array( \'post_type\' => \'kb_kba\', \'posts_per_page\' => -1) );
        foreach( $articles as $article ) {
            //delete post, bypass trash
            wp_delete_post( $article->ID, true);
        }
    }

1 个回复
最合适的回答,由SO网友:Douglas - 3X Web 整理而成

get_posts() 可以接收描述要操作哪个post状态的参数。我会这样说:

function remove_all_kba_data(){
    //remove articles
    $articles = get_posts( 
        [ 
            \'post_type\' => \'kb_kba\', 
            \'posts_per_page\' => -1, 
            \'post_status\' => [ \'published\', \'draft\' ]
        ] 
    );
    foreach( $articles as $article ) {
        //delete post, bypass trash
        wp_delete_post( $article->ID, true);
    }
}

相关推荐

从Get_Posts函数获取附件缩略图

如何获取最新wordpress音频媒体上传的id。原因是我想使用音频封面图像/特色图像作为后期特色图像。我是否需要检索音频中缩略图的ID。我尝试了下面的代码,但返回了错误 $attachments = get_posts( array( \'post_type\' => \'attachment\', \'posts_per_page\' => 1, \'post_status\' => null, \'post_mi