📜  通过查询删除 wordpress 中的所有帖子 - PHP (1)

📅  最后修改于: 2023-12-03 15:12:25.602000             🧑  作者: Mango

通过查询删除 WordPress 中的所有帖子 - PHP

在 WordPress 中,我们可以使用 wp_delete_post() 函数来删除帖子。但是,如果要删除所有帖子,相信手动一个个删除显然是不现实的。因此,我们可以通过编写 PHP 代码实现通过查询删除 WordPress 中的所有帖子。

步骤
  1. 创建一个 WordPress 查询,获取所有帖子的 ID。

    $all_posts = get_posts( array(
        'post_type'    => 'post',
        'post_status'  => 'publish',
        'numberposts'  => -1,
        'fields'       => 'ids',
    ) );
    

    返回的是一个包含所有帖子 ID 的数组。

  2. 循环删除帖子。

    foreach ( $all_posts as $post_id ) {
        wp_delete_post( $post_id, true );
    }
    

    wp_delete_post() 函数的第二个参数为 true,表示彻底删除帖子,包括所有附加的文件和数据。

  3. 完整代码。

    <?php
    
    // 获取所有帖子的 ID
    $all_posts = get_posts( array(
        'post_type'    => 'post',
        'post_status'  => 'publish',
        'numberposts'  => -1,
        'fields'       => 'ids',
    ) );
    
    // 删除帖子
    foreach ( $all_posts as $post_id ) {
        wp_delete_post( $post_id, true );
    }
    
    ?>
    
总结

通过查询删除 WordPress 中的所有帖子其实是一件很简单的事情。只需要使用 get_posts() 函数获取所有帖子的 ID,然后循环删除即可。当然,这个操作需要谨慎,因为删除后无法恢复,建议先备份数据。