WordPress scheint heutzutage überall zu sein, und es ist kein Wunder, da es einfach zu bedienen und einfach anpassbar ist. In diesem Lernprogramm werde ich die Standardstruktur des WordPress-Themas comments.php analysieren und Ihnen verschiedene Codeausschnitte zur Erleichterung des Skinnings geben.
Als Referenz habe ich auch ein kleines Inhaltsverzeichnis beigefügt.
post_password)):?> post_password):?> comment_approved == '0'):?>
Dies ist der reine PHP-Code, der die Funktion Ihrer comments.php-Datei ermöglicht. Für einen Anfänger mag dies einschüchternd wirken. Machen Sie sich jedoch keine Sorgen: Mit diesem Tutorial wird alles in Ihrer Kommentardatei kristallklar!
Diese Codezeile verhindert, dass Benutzer comments.php versehentlich anzeigen. Diese Seite soll auf einer Beitragsseite enthalten sein, nicht separat. Sie könnten dies als Sicherheitsmaßnahme betrachten. Sie können in die Anweisung jede Nachricht einfügen, die der Person angezeigt werden soll, die die Datei comments.php anzeigt, vorzugsweise a sterben
Aussage.
post_password)):?> post_password):?>
Diese Aussage (eigentlich 2, aber es ist sinnvoller, wenn Sie sie als eine betrachten) prüft, ob ein Kennwort erforderlich ist, um den Beitrag anzuzeigen. Wenn Sie kein Kennwort zum Anzeigen des Beitrags haben, können Sie die Kommentare natürlich auch nicht anzeigen.
Der Erste ob
prüft, ob ein Passwort gesetzt ist. Der Zweite ob
Die Anweisung prüft, ob ein Cookie mit einem Kennwort vorhanden ist, und zeigt die entsprechende Meldung an, wenn er nicht vorhanden ist. Sie können die Fehlermeldung anpassen, indem Sie das, was Sie wählen, in die zweite einfügen ob
Aussage.
comment_approved == '0'):?>
Diese erste Bedingungsanweisung (if ($ Kommentare)
) prüft, ob Kommentare vorhanden sind, und durchläuft sie mit einem für jeden
Aussage. In der für jeden
Anweisung, werden Sie die folgende Bedingungsanweisung bemerken: if ($ comment-> comment_approved == '0')
. Dadurch wird geprüft, ob der Kommentar genehmigt wurde, und eine Meldung wird angezeigt, wenn er noch nicht genehmigt wurde.
Ein Beispiel dafür wäre der folgende Code.
- comment_approved == '0'):?>
Dein Kommentar wartet auf Freigabe
Dein Kommentar
Keine Kommentare
Um dies zu einem funktionalen Code zu machen, müssen Sie die von WordPress bereitgestellten Vorlagen-Tags verwenden.
Template-Tag | Beschreibung |
---|---|
| die ID eines Kommentars |
| der Autor eines Kommentars |
| der Autor eines Kommentars, der mit einem Link zu seiner Website versehen ist, sofern er einen angegeben hat |
| die Art des Kommentars; Pingback, Trackback oder ein Kommentar |
| der eigentliche Kommentar |
| das Datum, an dem es veröffentlicht wurde |
| die zeit wurde gepostet |
- comment_approved == '0'):?>
Dein Kommentar wartet auf Freigabe
durch auf beimNoch keine Kommentare
Wenn Sie dies in comments.php einfügen, erhalten Sie eine geordnete Liste mit den Kommentaren und den erforderlichen Informationen oder eine Meldung, dass keine Kommentare vorhanden sind.
Verfolgst du mich noch? Gut! Wir sind fast da. Wir müssen dieses Kommentarformular nur verarbeiten ... Okay, vielleicht habe ich gelogen, dass ich fast da war. Das Kommentarformular ist eigentlich einer der schwierigeren Teile der gesamten Skindatei comments.php.
Sie werden mit mehreren Bedingungsanweisungen bombardiert (ist ein Login erforderlich, sind Sie angemeldet,…). In diesem Teil haben die meisten Start-Skinner die meisten Probleme: Das Verlegen von Formularelementen könnte verhindern, dass das Formular funktioniert überhaupt, ohne einen spezifischen PHP-Fehler anzugeben.
Um Ihnen einen Einblick in die bedingten Anweisungen zu geben, die im Kommentarformular enthalten sind, erkläre ich zuerst diese Anweisungen und füge später den HTML-Code hinzu, um zu erklären, warum es dort sein sollte, wo es ist.
Die erste bedingte Anweisung, der Sie begegnen, ist . Dies prüft grundsätzlich, ob die Kommentare geöffnet sind. Wenn die Kommentare geschlossen sind, können Sie natürlich keinen Kommentar posten und das Kommentarformular ist nicht erforderlich. Sie können die Nachricht einfügen, die angezeigt werden soll, wenn die Kommentare zwischen den letzten geschlossen werden
und
.
Die zweite Bedingungsanweisung () prüft, ob Sie registriert sein müssen, um einen Kommentar posten zu können und ob Sie angemeldet sind. Wenn die Bedingungsanweisung erfüllt ist, sollte das Skript einen Link zu einem Ort anzeigen, an dem sich Benutzer anmelden können. Wenn eine Registrierung nicht erforderlich ist oder Sie bereits angemeldet sind Wenn Sie sich angemeldet haben, wird das Skript mit fortgesetzt
sonst
Teil und zeigen Sie das Formular an.
Unsere abschließende Bedingungsanweisung überprüft dann, ob Sie angemeldet sind oder nicht. Wenn Sie bereits angemeldet sind, können Sie Ihren Namen, Ihre E-Mail-Adresse und Ihre Website erneut eingeben.
Glückwunsch, wir haben alle Bedingungsanweisungen in der Datei comments.php durchgearbeitet. Jetzt müssen Sie nur noch das Formular hinzufügen.
Das erste, was ich hören kann, ist, dass Sie denken: Wo zum Teufel wird diese Form beginnen? Nun, Sie müssen nur dem gesunden Menschenverstand folgen. Die zweite Bedingungsanweisung prüft, ob Sie angemeldet sein müssen oder nicht. Daher müssen Sie erst nach dieser Anweisung ein Formular anzeigen. Das gesamte Formular befindet sich also in dieser Bedingungsanweisung.
Sie müssen /wp-login.php?redirect_to= sein"> angemeldet um einen Kommentar zu schreiben.
Die Kommentare sind geschlossen.
Ich habe auch den Link zur Login-Seite geworfen, so wie ich ihn in der Standard-comments.php gefunden habe. Wie ich bereits gesagt habe, prüft die letzte Bedingungsanweisung, ob Sie angemeldet sind oder nicht. Natürlich werden die Eingabefelder für Name, E-Mail und Website nur angezeigt, wenn Sie nicht angemeldet sind!
Sie müssen /wp-login.php?redirect_to= sein"> angemeldet um einen Kommentar zu schreiben.
Die Kommentare sind geschlossen.
In Ordung! Wir sind fast da! Wir müssen nur ein paar einfache Codezeilen hinzufügen, beispielsweise einen Textbereich und eine Schaltfläche zum Senden. Diese folgen der letzten Bedingungsanweisung, da es für diese Elemente unerheblich ist, ob Sie angemeldet sind oder nicht.
Sie müssen /wp-login.php?redirect_to= sein"> angemeldet um einen Kommentar zu schreiben.
Die Kommentare sind geschlossen.
Dieser Code sollte ziemlich selbsterklärend sein. Ein Textfeld für den Kommentar, eine Senden-Schaltfläche, ein verstecktes Eingabefeld mit der zukünftigen ID der Kommentare und ein PHP-Snippet (ICH WÜRDE); ?>
) WordPress setzt voraus, dass das Kommentarformular funktioniert.
Voila! Das war's Leute! Sie haben jetzt Ihre vollständig bereitgestellte Datei comments.php. Sehen Sie sich diese Datei an, um den gesamten erforderlichen PHP- und HTML-Code zu erhalten. Sie sollten damit fertig sein (ich habe einfach die Datei "comments.php" des Standard-Skins durch unsere Datei ersetzt und ein kleines Styling hinzugefügt.)
Natürlich haben Sie jetzt nur noch eine grundlegende Datei comments.php. Es gibt eine Menge Dinge, die Sie tun könnten, um es weiter zu verbessern. Ich werde einige kleine Tipps und Tricks auflisten, die Ihnen auf Ihrem Weg helfen.
Ab WordPress 2.5 gibt es ein benutzerdefiniertes WordPress-Vorlagen-Tag zum Einbetten von Gravataren. Es zieht den Gravatar aus der E-Mail, die der Besucher eingegeben hat. Der Code dafür ist sehr einfach.
Sie können ersetzen $ author_email
mit dem geschickten get_comment_author_email ();
Funktion, $ size
ist die Höhe (und Breite) des Avatars und $ default_avatar
ist ein Link zum Standard-Avatar-Bild (wird angezeigt, wenn der Kommentator keinen Gravatar hat).
Fügen Sie diesen Code in das ein für jeden
Schleife, die die Kommentare anzeigt. Die Ausgabe ist ein Bild mit den Klassen Benutzerbild
und avatar- $ size
(woher $ size
ist die von Ihnen angegebene Größe). Mit ein paar geringfügigen CSS-Änderungen könnten Sie so etwas wie folgt enden:
Ich habe absichtlich Kopfzeilen in der Datei comments.php weggelassen, die wir später erstellt haben, da ich der Meinung war, dass sie in einem Lernprozess, der schwierig genug ist, überschüssigen Code erzeugen würde. Natürlich vergesse ich sie nicht.
Normalerweise haben die Leute eine Überschrift, die etwas wie "3 Kommentare bisher" anzeigt. Dies ist dank der Vorlagen-Tags, die WordPress bietet, sehr einfach zu erreichen.
Es ist ziemlich selbsterklärend: $ zero_comments
ist der Text, der angezeigt wird, wenn keine Kommentare vorhanden sind, $ one_comment
wenn es einen Kommentar gibt und $ more_comments
wenn es mehrere Kommentare gibt. Ein Beispiel aus dem wirklichen Leben wäre so:
ich benutzte %
für mehrere Kommentare seit dem comments_number
Funktion ersetzt dann die %
mit der Anzahl der Kommentare (2, 3,…)
In unserer comments.php-Datei verwendet, erhalten Sie etwa Folgendes:
Um einen Link zum Kommentarteil anzuzeigen (wobei auch die Anzahl der Kommentare angezeigt wird), verwenden Sie einfach den folgenden Code.
Die ersten 3 Parameter in dieser Funktion sind die gleichen wie oben comments_number
Funktion. $ css_class
ist offensichtlich die CSS-Klasse, die Sie der geben tag und
$ comments_closed
ist der Text, der angezeigt werden soll, wenn die Kommentare geschlossen werden. Wenn Sie dies auf ein Thema anwenden, können Sie es auf diese Weise verwenden.
Dies würde Ihnen dann einen Link zur Klasse geben Kommentar-Link
Manchmal möchten Sie einen Kommentar sofort bearbeiten. Glücklicherweise können Sie die Funktion edit_comment_link verwenden, um sie auf der rechten Seite zu bearbeiten, anstatt zu Ihrem Admin-Bedienfeld zu navigieren, um diesen Kommentar zu erhalten. Die Verwendung ist so:
Sie müssen dies in die für jeden
Kommentarschleife. Parameter sind ziemlich offensichtlich: $ link_text
ist der Ankertext für den Bearbeitungslink, $ before_link
und $ after_link
sind jeweils der Text oder Code, der vor oder nach dem Link angezeigt werden soll.
Dies macht es wirklich einfach, einen Kommentar zu ändern. Sie können einfach einen kleinen "Bearbeiten" -Link zu Ihren Kommentar-Meta-Informationen hinzufügen (nur für den Administrator sichtbar). So könnte es aussehen:
Möglicherweise möchten Sie abwechselnd Reihenfarben für Ihre Kommentare haben, um eine klarere Trennung zu erreichen. Das ist relativ einfach. Fügen Sie zunächst den folgenden Code oben auf der Seite hinzu:
Funktion alternate_rows ($ i)
if ($ i% 2)
Echo '';
else
Echo";
Fügen Sie dann Folgendes in das Feld ein für jeden
Schleife (wieder). Sie könnten einfach ersetzen mit diesem:
Dies gibt jedem anderen Kommentar die Klasse alt
, Dadurch ist es möglich, ihr Erscheinungsbild durch CSS zu ändern.
Ich entschied mich dafür, eine Funktion dafür zu erstellen, um die eigentliche Designdatei weniger durcheinander zu bringen. Wenn Sie möchten, können Sie die Funktionsdefinition in Ihre Datei "functions.php" einfügen. Für mich ist es jedoch sinnvoller, sie oben auf Ihrer Seite zu haben.
Abwechselnde Zeilen erleichtern die Unterscheidung verschiedener Kommentare. Wenn Sie einmal implementiert sind, haben Sie vielleicht so etwas:
Um den Code anzuzeigen, den Besucher in ihren Kommentaren verwenden dürfen, verwenden Sie einfach diesen kleinen Ausschnitt.
Zulässige Tags:
Dann erhalten Sie einfach eine Liste der Tags, die in Ihren Kommentaren zulässig sind, wie folgt:
Um einen Link zum RSS-Feed für die Kommentare eines bestimmten Beitrags zu erhalten, fügen Sie einfach den folgenden Code in die Datei comments.php an der Stelle ein, an der Sie ihn haben möchten.
Dann einfach austauschen $ link_test
mit dem Ankertext für den RSS-Link.
Dies kann hilfreich sein, wenn Sie Ihren Besuchern die Möglichkeit geben möchten, den Kommentar-Feed für einen bestimmten Artikel oder Blogeintrag zu abonnieren. Sie könnten es so implementieren:
Ich hoffe, Ihnen hat dieser * ähm * kleine Artikel über das Enthäuten Ihrer WordPress comments.php-Datei gefallen. Den vollständigen Code erhalten Sie hier mit den darin enthaltenen Tricks:
Offensichtlich ist der Kommentar-Link nicht enthalten, da dieser in der Schleife verwendet werden muss.
Viel Glück bei deinen WordPress-Skinning-Abenteuern!