Custom Php Script Development Tutorials, Guides & Insights
Unlock 1+ expert-curated custom php script tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your custom php script skills on DeveloperBreeze.
Adblocker Detected
It looks like you're using an adblocker. Our website relies on ads to keep running. Please consider disabling your adblocker to support us and access the content.
Code
php
How to Delete All WordPress Posts and Their Uploads Using a Custom PHP Script
You can loop through all posts, delete each post, and then remove any associated media files (attachments). Here's a complete script to achieve this:
<?php
// Load WordPress environment
require_once('/path/to/your/wp-load.php');
// Get all posts (any post type)
$args = array(
'post_type' => 'any', // 'any' retrieves all post types (posts, pages, custom post types)
'post_status' => 'any', // 'any' retrieves all post statuses
'posts_per_page' => -1, // Retrieve all posts
);
$all_posts = get_posts($args);
foreach ($all_posts as $post) {
// Get the post ID
$post_id = $post->ID;
// Check if the post has attachments (media files)
$attachments = get_attached_media('', $post_id);
// Delete each attachment associated with the post
foreach ($attachments as $attachment) {
$attachment_id = $attachment->ID;
// This deletes the file from the uploads directory and the database record
wp_delete_attachment($attachment_id, true);
}
// Delete the post itself
wp_delete_post($post_id, true); // true = force delete, bypass trash
}
echo 'All posts and their uploads have been deleted.';Oct 25, 2024
Read More