Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Creative Coding

Buchung über das Frontend: Bearbeiten und Löschen

by
Difficulty:IntermediateLength:MediumLanguages:

German (Deutsch) translation by Alex Grigorovich (you can also view the original English article)

Heute setzen wir unsere Mini-Serie über das Frontend in Insert-Posts fort. In diesem Teil werden wir uns jedoch ausschließlich mit dem Bearbeiten und Löschen von Posts über das Front-End beschäftigen.  Wir werden darauf eingehen, wie Sie alle unsere Beiträge anzeigen, bearbeiten und löschen können.  Also machen wir uns bereit und beginnen!


Einführung

Wir sind jetzt in Teil zwei unserer Mini-Serie, und wenn Sie den ersten Teil nicht gelesen haben, dann rate ich Ihnen, denn wir werden da weitermachen, wo wir aufgehört haben.  Unser Ziel nach Abschluss dieser Mini-Serie sollte es dem Benutzer ermöglichen, Beiträge über das Frontend einzureichen, zu bearbeiten und in den Papierkorb zu verschieben. Alles ohne im WordPress-Dashboard zu sein.  Diese Methoden können sowohl in einem Theme als auch in einem Plugin verwendet werden und sind sehr anpassungsfähig, um sehr fortgeschrittene und komplexe Einreichungen zu erzielen.

Die Demo und die Download-Dateien sind ein abgespecktes Thema, das nur für die Zwecke dieses Tutorials erstellt wurde.

Öffnen Sie also Ihren bevorzugten Texteditor und los geht's!


Schritt 1 Anzeigen unserer Beiträge

Wir werden damit beginnen, alle unsere Beiträge effektiver darzustellen. Dies wird uns ein besseres Management der Beiträge ermöglichen und es ermöglichen, Aktionen für jeden Beitrag durchzuführen.  Da wir dazu ein Design verwenden, erstellen wir eine Seitenvorlage namens template-view-posts.php.  Außerdem erstellen wir eine neue Seite über unsere WordPress-Dashboard-Seiten -> Neu hinzufügen -> Seitenattribute, indem Sie der Seite die Vorlage zuweisen.

Wir haben jetzt unsere Seitenvorlage und Seite in unserem WordPress-Theme erstellt. Wir können damit beginnen, alle unsere Posts auszugeben.  Wir erstellen eine sehr einfache Tabelle, um alle notwendigen Informationen auszugeben.  Beginnen Sie mit dem Erstellen einer Tabelle mit einigen Überschriften wie folgt:

Nachdem wir unsere Tabelle eingerichtet haben, können wir damit beginnen, unsere Tabellenzeilen mit Informationen zu unseren Posts zu füllen.  Wir werden zunächst eine benutzerdefinierte WordPress-Schleife erstellen, um sicherzustellen, dass wir alle Beiträge und alle Post-Status erhalten, weil wir sehen möchten, welche Beiträge ausstehen, Entwürfe veröffentlichen, veröffentlicht oder sogar in den Papierkorb verschoben werden.  Wir tun dies, indem wir den folgenden Code einfügen:

Dies ist unser Abfrageobjekt mit all unseren benutzerdefinierten Parametern, die wir eingestellt haben.  Über die verschiedenen Parameter, die wir einstellen können, lesen Sie den WordPress-Codex.  Als Nächstes werden wir unsere WordPress-Schleife unmittelbar nach unseren Tabellenüberschriften ausführen, wie folgt:

Brillant!  Wir haben unser Tischset und unser WordPress-Loop-Set.  Jetzt müssen wir nur noch unsere Informationen eingeben, die sich auf unsere Tabellenüberschriften beziehen.  Ersetzen Sie unsere leeren Tabellenzellen durch folgenden Code:

Der Code, den wir gerade eingefügt haben, beginnt mit der Ausgabe unseres Posttitels, und der nächste Artikel gibt einen Auszug unseres Posts aus.  Wir erhalten dann den aktuellen Status des Beitrags und übergeben die Beitrags-ID an diese Funktion. Zum Schluss geben wir zwei Links Bearbeiten und Löschen ein, die wir später als unsere Aktionen verwenden werden.


Schritt 2 Bearbeiten unserer Beiträge

Brillant, wir machen gute Fortschritte.  Wir haben unser Thema so eingerichtet, dass alle Beiträge über das Frontend angezeigt werden.  Als Nächstes werden wir den Beitrag bearbeiten.  Wir beginnen mit dem Erstellen einer anderen Seitenvorlage namens template-edit-posts.php.  Außerdem erstellen wir über unsere WordPress-Dashboard-Seiten -> Neue hinzufügen -> Seitenattribute eine neue Seite und weisen dieser Seite die Vorlage zu.

Bevor wir mit der Bearbeitung dieser Vorlage beginnen, kehren wir zu unserer Datei template-view-posts.php zurück und stellen sicher, dass wir die Post-ID an die URL übergeben, an der wir die ID von unserer Bearbeitungsseite abrufen.  Dazu verwenden wir die WordPress-Funktion: add_query_arg.  Wir werden den folgenden Code unmittelbar vor unserem Bearbeitungslink einfügen:

Der Code, den wir gerade eingefügt haben, legt zuerst den Namen des Parameters fest. Anschließend wird die ID des Beitrags abgerufen. Anschließend erhalten wir die ID unserer Seitenvorlage "Bearbeiten" und fügen unser benutzerdefiniertes URL-Argument hinzu.  Wir werden dies verwenden, um die Informationen in unserer Bearbeitungsvorlage abzurufen.

Zum Schluss geben wir dies in unseren Bearbeitungslink ein und machen ihn wie folgt:

Nachdem wir nun festgelegt haben, dass der Benutzer auf Bearbeiten klickt, wird er mit der Post-ID zu unserer Bearbeitungsvorlage verschoben.  Wir kehren zu unserer Datei template-edit-posts.php zurück und beginnen mit dem Einfügen unseres Codes.

Wir werden unser Formular aus unserer template-insert-posts.php kopieren und in unsere Bearbeitungsvorlage einfügen.  Wir kopieren den folgenden Code in unsere Bearbeitungsvorlage und entfernen alle Werte aus unseren Eingaben und dem Textbereich. So wird unser Formular folgendermaßen erstellt:

Jetzt, da wir das Formular zum Bearbeiten der Seite haben, müssen wir die WordPress-Schleife verwenden, um alle Beiträge zu durchsuchen und nur unsere Beiträge zu finden, die der Beitrags-ID entsprechen, die an unsere URL übergeben wird.  Wir werden dies tun, indem wir die WordPress-Schleife oben in unserer Datei ausführen:

Damit die WordPress-Schleife sicherstellt, dass wir nur die Informationen des jeweiligen Beitrags abrufen, fügen wir den folgenden Code ein, um sicherzustellen, dass die korrekte Beitrags-ID in unserer Schleife angezeigt wird:

Was wir gerade eingefügt haben, ist, den URL-Parameter abzurufen und mit der Post-ID zu testen. Wenn er eine Übereinstimmung gefunden hat, weisen wir diese ID unserer current_post-Variablen zu.  Anschließend werden wir einen Code einfügen, um unsere Informationen zu unserem Post zu erhalten. Fügen Sie den folgenden Code direkt unter unserer aktuellen current_post ein:

Unser endgültiger Code sollte so aussehen:

Das ist großartig, wir machen gute Fortschritte.  Nun, da wir alle unsere Informationen haben, müssen wir sie nur noch in unsere Formularwerte einfügen. Dies ist einfach, da wir nur Werte für unsere beiden Felder zuweisen.  Gleichzeitig werden wir den Namen unserer Schaltfläche auf Update Post aktualisieren.  Der folgende Code ist unser aktualisiertes Formular, wobei das Formular mit dem Titel und dem Inhalt des Bearbeitungspostens gefüllt ist:

Wie Sie dem Code entnehmen können, haben wir unseren Eingabetitel Post Title zur Ausgabe der Titelvariablen zugewiesen. Innerhalb unseres Textbereichs haben wir unsere Inhaltsvariable ausgegeben. Wenn Sie jedoch auf "Aktualisieren" geklickt haben, passiert nichts liegt daran, dass wir das noch nicht erledigt haben, und wir werden es jetzt tun.

Wir müssen zurück zu unserer Datei template-insert-posts.php und wir werden unsere PHP-Formularvalidierung in unsere Edit-Vorlage kopieren.  Nachdem wir unsere Formularüberprüfung überarbeitet haben, werden wir einige Änderungen vornehmen und Code einfügen.  Wir müssen die current_post -Variable in unserer Formularvalidierung abrufen, indem wir eine globale Variable setzen und diese oberhalb unserer Validierung einfügen:

Als Nächstes nehmen wir eine Änderung an unserem post_information-Array vor.  Während wir unseren Beitrag aktualisieren, müssen wir sicherstellen, dass der richtige Beitrag und nicht alle Beiträge aktualisiert werden. Dazu fügen wir einen ID-Parameter in unser post_information-Array ein.  Machen Sie unser Array wie folgt:

Schließlich nehmen wir noch eine letzte Änderung vor, um sicherzustellen, dass wir den Beitrag aktualisieren und keinen neuen Beitrag einfügen.  Wir tun dies, indem Sie einfach die von uns verwendete Funktion ändern. Statt wp_insert_post zu verwenden, verwenden wir wp_update_post.  Den endgültigen Code wie folgt erstellen:

Und das wars für die Bearbeitung von Posts über das Frontend.  Schließlich werden wir für diesen Teil der Mini-Serie das Löschen von Beiträgen ausführen.


Schritt 3 Löschen unserer Beiträge

Nun gibt es viele verschiedene Möglichkeiten, um Beiträge zu löschen, und es gab viele verschiedene Diskussionen über die beste Methode, um dies zu erreichen. Bei manchen Leuten ist dies wahrscheinlich die falsche Methode, aber meiner Meinung nach funktioniert sie in dieser aktuellen Situation perfekt.  Wir werden die Funktion get_delete_post_link verwenden.

Wir werden diese Funktion zusammen mit der ID des Beitrags wie folgt an unseren Link zum Löschen übergeben:

So einfach löschen Sie Posts über das Frontend.  Wir werden dies nur ein wenig erweitern, um sicherzustellen, dass wir keine Fehler haben und ein wenig mehr Benutzer darüber informieren, dass wir einen Beitrag löschen.  Wir tun dies, indem wir unserem Onclick eine sehr einfache Bestätigungsfunktion hinzufügen:

Schließlich wird der Lösch-Link mit einer Bedingung versehen, um sicherzustellen, dass wir einen Beitrag nur löschen können, wenn der aktuelle Status des Beitrags nicht bereits im Papierkorb liegt.  Wir machen das wie folgt:

Und das ist es!  Sie können Beiträge in den Papierkorb senden.  Nur für den Fall, dass Sie neugierig auf die alternative Methode zum Löschen von Beiträgen waren, werde ich es kurz erklären.

Die Methode ist sehr einfach für das Bearbeiten von Posts, indem Sie die Post-ID an die URL übergeben, einen delete parameter hinzufügen und prüfen, ob der Wert dieses Parameters "true" ist. Wenn er true ist, übergeben Sie die Funktion "wp_trash_post" an den Link.  Das ist sehr einfach und sehr effektiv, aber für unsere derzeitige Situation funktioniert der get_delete_post_link einwandfrei.


Fazit

Teil 2 ist fertig!  Wir können jetzt Beiträge über das Frontend einfügen, bearbeiten und löschen.  Wir haben bisher viele Inhalte abgedeckt und werden im nächsten Teil noch ein wenig weiter graben.

Im nächsten Teil werden wir uns mit benutzerdefinierten Feldern und mehr beschäftigen.

Ich möchte Ihnen ein riesiges Dankeschön dafür sagen, dass Sie sich die Zeit genommen haben, mein Tutorial zu lesen. Ich hoffe, es hat geholfen.  Bitte zögern Sie nicht, Kommentare zu hinterlassen, und ich werde mein Bestes geben, um Ihnen zu helfen und sie zu beantworten. Wenn nicht, können Sie mich jederzeit direkt über meine Website kontaktieren: www.VinnySingh.co oder Twitter @VinnySinghUK

Bleiben Sie dran für Teil 3!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.