Funktion ausführen, wenn ein Bild aus der Mediathek gelöscht wird

  • Huhu,

    ich versuche gerade, eine Funktion aufzurufen, die genau dann aufgerufen wird, wenn ein Benutzer in der Mediathek auf "Unwiderruflich löschen" klickt.

    Im Internet habe ich bisher folgende Möglichkeit gefunden, aber das klappt nicht so, wie ich es mir vorstelle:

    PHP
    add_action('delete_attachment', 'my_media_delete');
    
    
    function my_media_delete(){
     if(false === wp_delete_attachment($attachmentid)){
            echo "Die Datei existiert nicht.";    
    }else{
            echo "Die Datei wurde gelöscht.";    
    }
    }

    Es stellt sich für mich erst mal die Frage, wie ich überhaupt an $attachmentid ran komme... Aber selbst wenn ich einen festen integer-Wert eingebe, macht die Funktion nichts.


    Habt ihr einen Tip für mich? Es soll einfach eine Funktion aufgerufen werden, wenn ein beliebiges Bild aus der Mediathek gelöscht wird - unabhängig von Verknüpfungen oder sowas.


    Vielen Dank schonmal! :)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Du bekommts die ID des Attachment von Wordpress übergeben. Also könnte Deine Funktion so aussehen:

    PHP
    add_action( 'delete_attachment', 'my_media_delete' );
    
    
    function my_media_delete( $attachmentid ) {
        if( false === wp_delete_attachment( $attachmentid ) ) {
            echo "Die Datei existiert nicht.";    
        } else {
            echo "Die Datei wurde gelöscht.";    
        }
    }

    Allerdings wirst Du die Ausgabe per echo sowieso nicht sehen, weil das löschen im Hintergrund erfolgt. Außerdem ist es fraglich, ob es sinnvoll ist, in Deiner Funktion wieder die Funktion "wp_delete_attachment" aufzurufen, weil es gewissermaßen eine Rekursion ist.

    Was konkret willst Du denn eigentlich machen?

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!