Die Geheimnisse der WordPress-Datei Comments.php aufdecken

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.

  1. Das PHP-Backend
  2. Allgemeiner Code
    1. Direkten Zugriff auf comments.php verhindern
    2. Ist ein Passwort erforderlich??
  3. Anzeigen der Kommentare
    1. Grundlegende Tags für Kommentarvorlagen
    2. Das Endergebnis
  4. Das Kommentarformular
    1. Bedingte Anweisungsübersicht
    2. Einfügen des Formulars
  5. Einige kleine Tricks
    1. Gravatare
    2. Kommentar Zahlen
    3. Kommentar-Links
    4. Kommentare bearbeiten
    5. Abwechselnde Farben für Kommentare
    6. Anzeigen der zulässigen Tags
    7. Kommentar RSS-Link
  6. Fazit

1. Das PHP-Backend

  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!


2. Allgemeiner Code

Direkten Zugriff auf comments.php verhindern

 

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.

  

Ist ein Passwort erforderlich??

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.


3. Anzeigen der Kommentare

  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.

 
  1. comment_approved == '0'):?>

    Dein Kommentar wartet auf Freigabe

    Dein Kommentar

Keine Kommentare

Grundlegende Tags für Kommentarvorlagen

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

Das Endergebnis

 
  1. comment_approved == '0'):?>

    Dein Kommentar wartet auf Freigabe

    durch auf beim

Noch 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.


4. Das Kommentarformular

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.

Bedingte Anweisungsübersicht

        

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.

Einfügen des Formulars

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.

Angemeldet als /wp-admin/profile.php ">. /wp-login.php?action=logout "title =" Abmelden von diesem Konto "> Abmelden»

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.

Angemeldet als /wp-admin/profile.php ">. /wp-login.php?action=logout "title =" Abmelden von diesem Konto "> Abmelden»

ICH WÜRDE); ?>

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.)


5. Einige kleine Tricks

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.

Gravatare

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:

Kommentar Zahlen

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:

Kommentar-Links

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

Kommentare bearbeiten

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:

Abwechselnde Farben für Kommentare

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:

    Anzeigen der zulässigen Tags

    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:

    Kommentar RSS-Link

    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:

    6. Schlussfolgerung

    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:

    • Gravatare,
    • alternative Zeilenfarben,
    • Link bearbeiten,
    • Kommentar RSS-Link.

    Offensichtlich ist der Kommentar-Link nicht enthalten, da dieser in der Schleife verwendet werden muss.

    Viel Glück bei deinen WordPress-Skinning-Abenteuern!