Files
wp-multi-teamcard/uninstall.php
2025-11-26 16:35:57 +00:00

48 lines
1.4 KiB
PHP

<?php
// Sicherstellen, dass die Datei nur bei Plugin-Deinstallation direkt von WordPress aufgerufen wird
if (!defined('WP_UNINSTALL_PLUGIN')) {
exit;
}
// Funktion zum Löschen aller Plugin-Daten
function delete_teamcard_data() {
// Alle Teamcard-Posts abrufen
$teamcards = get_posts([
'post_type' => 'teamcard',
'posts_per_page' => -1,
'post_status' => 'any',
]);
// Jeden Post und zugehörige Bilder löschen
foreach ($teamcards as $teamcard) {
// Bild aus der Mediathek löschen, falls vorhanden
$bild_id = get_post_meta($teamcard->ID, '_teamcard_bild_id', true);
if ($bild_id) {
wp_delete_attachment($bild_id, true);
}
// Post und Metadaten löschen
wp_delete_post($teamcard->ID, true);
}
// Taxonomie 'teamcard_kategorie' und ihre Begriffe löschen
$terms = get_terms([
'taxonomy' => 'teamcard_kategorie',
'hide_empty' => false,
]);
if (!is_wp_error($terms)) {
foreach ($terms as $term) {
wp_delete_term($term->term_id, 'teamcard_kategorie');
}
}
// Alle Metadaten löschen, die mit dem Plugin verknüpft sind
global $wpdb;
$wpdb->query("DELETE FROM $wpdb->postmeta WHERE meta_key LIKE '_teamcard_%'");
// Rewrite Rules zurücksetzen
flush_rewrite_rules();
}
// Funktion ausführen
delete_teamcard_data();