Trick # 538 | Dieser Beitrag beinhaltet 0 Wörter. – Geschätzte Lesezeit: ca. 0 Minuten.
Spam-Kommentare können in WordPress schnell zur Plage werden. Sie verstopfen die Kommentarsektion und belasten die Datenbank. Manuelles Löschen ist zeitaufwändig, vor allem, wenn sich viele Spam-Kommentare ansammeln. Glücklicherweise kann dieser Prozess durch ein kleines PHP-Skript automatisiert werden.
Das folgende Script löscht Kommentare, welche als Spam markiert sind nach zehn Tagen automatisch.
Fügen Sie das Script in die Datei functions.php Ihrer WordPress-Installation ein. Sie finden das File im Backend unter Design/Theme-Datei-Editor:
// Funktion, um Spam-Kommentare zu löschen
function delete_old_spam_comments() {
global $wpdb;// Zeitstempel für Kommentare, die älter als 10 Tage sind
$ten_days_ago = strtotime('-10 days');// SQL-Abfrage zum Löschen von Spam-Kommentaren
$wpdb->query(
$wpdb->prepare(
"
DELETE FROM $wpdb->comments
WHERE comment_approved = 'spam'
AND comment_date_gmt < %s
",
date('Y-m-d H:i:s', $ten_days_ago)
)
);
}// Aktion alle 24 Stunden ausführen
if (!wp_next_scheduled('delete_old_spam_comments_event')) {
wp_schedule_event(time(), 'daily', 'delete_old_spam_comments_event');
}// Mit dem Cron-Ereignis verbinden
add_action('delete_old_spam_comments_event', 'delete_old_spam_comments');// Optional: Funktion zum Deaktivieren des Cron-Jobs beim Deaktivieren des Themes oder Plugins
function disable_delete_old_spam_comments_event() {
$timestamp = wp_next_scheduled('delete_old_spam_comments_event');
if ($timestamp) {
wp_unschedule_event($timestamp, 'delete_old_spam_comments_event');
}
}
register_deactivation_hook(__FILE__, 'disable_delete_old_spam_comments_event');Das Skript wird einmal täglich durch den WP-Cron ausgeführt. Es sucht nach Spam-Kommentaren, die älter als zehn Tage sind und löscht diese.
Auf Zeile 6 können Sie nach Wunsch auch eine andere Frist eintragen.
Werbung


