Verwijder WordPress berichten zonder bijlagen

Bij Pronamic zetten we regelmatig websites om naar WordPress. We maken hierbij gebruik van verschillende importeer technieken. Helaas gaat er bij het importeren ook wel eens iets fout. Zo gebeurd het soms dat de bijlagen bij een bericht niet goed worden overgenomen. We moeten dan alle berichten zonder gekoppelde bijlagen verwijderen. Binnen het beheerpaneel van WordPress is dit niet eenvoudig te realiseren. Daarom hebben we een simpel scriptje ontwikkeld waarmee we deze berichten kunnen verwijderen.

$query = new WP_Query();
$query->query(array(
	'post_type' => 'post' ,
	'posts_per_page' => -1
));

while($query->have_posts()) {
	$query->the_post();

	$id = get_the_ID();

	$attachmentsQuery = new \WP_Query();
	$attachmentsQuery->query(array(
		'post_type' => 'attachment' ,
		'post_status' => 'inherit' ,
		'post_parent' => $id ,
		'posts_per_page' => -1
	));

	if($attachmentsQuery->post_count == 0) {
		wp_delete_post($id, true);
	}
}

One thought on “Verwijder WordPress berichten zonder bijlagen

  1. Pingback: WordPress berichten inclusief bijlagen verwijderen | Remco Tolsma

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

De volgende HTML tags en attributen zijn toegestaan: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>