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öschen möchtest?')" href="<?php echo get_delete_post_link( $post->ID ) ?>">Lö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öschen</a>
…zeige einen „Löschen“-Link an.
onclick="return confirm('Bist du sicher, dass du diesen Inhalt löschen mö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.
2 comments
Was halten Sie von diesem Artikel? :)Riccarda - 7. Januar 2013
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. Januar 2013
JavaScript im Browser deaktiviert? Oder nicht bei WP angemeldet? Link erscheint logischerweise nur für eingeloggte Nutzer.