WordPress-Blog

WP-Tutorial: Nutzern das Löschen von Einträgen im Frontend erlauben, ganz ohne Plugins

Der folgende Tipp sollte besonders für Betreiber von User-Generated-Content-Portalen von Interesse sein: Wie kann man Nutzern erlauben, eigene Einträge zu löschen, ohne sie dafür ins WP-Backend schicken zu müssen?

Es ist vergleichsweise einfach. An der Stelle, an der ein entsprechender Link erscheinen soll (z.B. in der “postmetadata”-Sektion auf der Autorenseite) muss nur folgender Code eingefügt werden:

<?php if ($post->post_author == $current_user->ID) { ?>
<a onclick="return confirm('Bist du sicher, dass du diesen Eintrag l&ouml;schen m&ouml;chtest?')" href="<?php echo get_delete_post_link( $post->ID ) ?>">L&ouml;schen</a>
<?php } ?>

Was macht der Code?

<?php if ($post->post_author == $current_user->ID) { ?>

Wenn die ID des gerade angemeldeten Nutzers mit der des Autors des angezeigten Eintrags übereinstimmt…

<a href="<?php echo get_delete_post_link( $post->ID ) ?>">L&ouml;schen</a>

…zeige einen “Löschen”-Link an.

onclick="return confirm('Bist du sicher, dass du diesen Inhalt l&ouml;schen m&ouml;chtest?')"

Wenn der Nutzer auf den Link klickt, erscheint ein Popup mit einer Sicherheitsabfrage. Hier bestätigt der Nutzer, dass er den angezeigten Eintrag tatsächlich löschen möchte.

Das war’s auch schon. Vielen Dank für Ihre Aufmerksamkeit.

SimonWP-Tutorial: Nutzern das Löschen von Einträgen im Frontend erlauben, ganz ohne Plugins

2 comments

Join the conversation
  • Riccarda - 7. January 2013 reply

    hi, könnte ich ja glatt gebrauchen. Allerdings zeigt er bei mir keinen Link an. Woran könnt´s liegen? Danke für die Hilfe. Grüsse Riccarda

    Simon - 13. January 2013 reply

    JavaScript im Browser deaktiviert? Oder nicht bei WP angemeldet? Link erscheint logischerweise nur für eingeloggte Nutzer.

Leave a Reply to Riccarda Cancel reply

Your email address will not be published. Required fields are marked *