WordPress Cronjob viele Beiträge und Bilder automatisch löschen

WordPress Cronjob viele Beiträge und Bilder automatisch löschen

Inhaltsverzeichnis
Hier meine WordPress Anleitung, wie du mit einem selbst programmierten Cronjob Artikel und alle Bilder darin löschen kannst! Und das mit hunderten Beiträgen gleichzeitig! Das spart mir viel Arbeit und hält mein WordPress sauber, sodass es keine alten Bilder ohne einen dazugehörigen Beitrag geben kann.
				
					<?php	
	echo '<center>Cronjob ausführen</center>';
	//Entwürfe und gelöschte Artikel 1x auslesen und inklusive Bilder löschen
	global $post;
	$myposts = get_posts( array(
	   'posts_per_page' => 300,
		'orderby'        => 'modified',
		'order'          => 'ASC',
	    'offset'         => 0,
		'post_status'    => 'trash'
	));

	//Unvollständige Produkte löschen
	if ( $myposts ) {
        foreach ( $myposts as $post ) : 
            setup_postdata( $post );						
				$post_id = get_the_ID(); //WP Artikel ID			
				$args = array('post_parent' => $post_id);		
				$post_attachments = get_children($args);
				if($post_attachments){
					foreach ($post_attachments as $attachment){
					   	//Alle Medien löschen
						wp_delete_attachment($attachment->ID, true);
					}
				 }
				wp_delete_post($post_id, true);	//Post löschen			
        endforeach;
        wp_reset_postdata();		
    }
?>
				
			

Das gegebene PHP-Skript führt einen Cronjob aus, der Entwürfe und gelöschte Artikel einschließlich ihrer Bilder aus der WordPress-Datenbank löscht. Es wird auch unvollständige Produkte gelöscht, die möglicherweise noch Medienanhang haben.

Hier ist eine Schritt-für-Schritt-Erklärung des Skripts:

1. Es wird eine Überschrift “Cronjob ausführen” in der Mitte der Seite ausgegeben.

2. Das Skript ruft eine Liste von Artikeln ab, die sich im Papierkorb (Status “trash”) befinden. Es werden maximal 300 Artikel abgerufen, die nach dem Änderungsdatum aufsteigend sortiert sind.

3. Der nächste Teil des Skripts prüft, ob es unvollständige Produkte gibt und löscht diese. Es durchläuft jeden Artikel im Papierkorb und verwendet die Funktion `get_children()`, um die Anhänge (Medien) dieses Artikels zu erhalten.

4. Wenn es Anhänge für den Artikel gibt, wird eine Schleife gestartet, um jeden Anhang zu durchlaufen. Für jeden Anhang wird die Funktion `wp_delete_attachment()` verwendet, um das Anhang-Medium zu löschen.

5. Nachdem alle Anhänge eines Artikels gelöscht wurden, wird die Funktion `wp_delete_post()` verwendet, um den gesamten Artikel endgültig zu löschen.

6. Das Löschen der Artikel und ihrer Anhänge erfolgt innerhalb einer foreach-Schleife, die alle Artikel im Papierkorb durchläuft und entsprechende Operationen ausführt.

7. Schließlich wird die Funktion `wp_reset_postdata()` verwendet, um die Daten zurückzusetzen und die WordPress-Abfrage auf ihren ursprünglichen Zustand zu bringen.

Es ist wichtig zu beachten, dass dieses Skript wahrscheinlich für eine spezifische Anwendung entwickelt wurde und nicht als allgemeine Funktion für jede WordPress-Installation geeignet ist. Vor der Verwendung sollte es gründlich überprüft und an die spezifischen Anforderungen und Sicherheitsaspekte der Website angepasst werden.

*In diesem Artikel sind Partner-Links enthalten. Durch einen Klick darauf gelangst du direkt zum Anbieter. Solltest du dich dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Danke für deine Unterstützung! Angebote sind immer nur gültig zum Zeitpunkt der Veröffentlichung des Artikels. Preise können sich ändern. Bitte überprüfe den aktuellen Preis auf der Website des Links.
Picture of Broschi
Broschi
Moin ich bin Broschi und das hier ist mein Blog. Abonniere gerne auch meinen Youtube Kanal! Du findest mich auch auf Pinterest, Instagram und Twitter. Kennst du schon meinen Amazon Shop*?
Amazon Shop
Affiliate Link!
ebay Angebote
Affiliate Link
Broschis Blog Newsletter
NEWSLETTER ABONNIEREN!
Teile die Begeisterung: Erzähle deinen Freunden von diesem Artikel! Und lass uns deine Gedanken hören – hinterlasse mir jetzt deinen Kommentar!

Deine Gedanken sind gefragt! Hast Du Fragen oder Ideen für den Artikel, lass sie raus. Dein Kommentar öffnet die Tür zu lebhaften Diskussionen und bietet eine Plattform für den Austausch von Wissen und Hilfe unter den Lesern. Teile gerne auch mit, falls dir etwas gefehlt hat – wir sind gespannt auf deine Meinung!

Schreibe deinen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert