48 lines
1.4 KiB
PHP
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(); |