📅  最后修改于: 2023-12-03 15:12:25.602000             🧑  作者: Mango
在 WordPress 中,我们可以使用 wp_delete_post() 函数来删除帖子。但是,如果要删除所有帖子,相信手动一个个删除显然是不现实的。因此,我们可以通过编写 PHP 代码实现通过查询删除 WordPress 中的所有帖子。
创建一个 WordPress 查询,获取所有帖子的 ID。
$all_posts = get_posts( array(
'post_type' => 'post',
'post_status' => 'publish',
'numberposts' => -1,
'fields' => 'ids',
) );
返回的是一个包含所有帖子 ID 的数组。
循环删除帖子。
foreach ( $all_posts as $post_id ) {
wp_delete_post( $post_id, true );
}
wp_delete_post() 函数的第二个参数为 true,表示彻底删除帖子,包括所有附加的文件和数据。
完整代码。
<?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,然后循环删除即可。当然,这个操作需要谨慎,因为删除后无法恢复,建议先备份数据。