Unterscheidung von Kommentaren

  • Hallo,

    ich möchte eine Liste mit den letzten 5 Kommentaren in meiner Sidebar anzeigen lassen, die folgendes erfüllen soll:

    1. nur die letzten 5 Kommentare
    2. Wenn sie keine Trackbacks oder Pingbackts sind
    3. und wenn sie keine Kommentare, die zu einer bestimmten Site gepostet worden sind.

    Punkt 1 und 2 habe ich schon gelöst. Jetzt stehe ich vor der Frage, wie ich die Kommentare nach ihrer Quelle unterscheiden kann. Gibt es ein tag, das übermittelt, ob es sich um einen Kommentar zu einem Blogeintrag oder zu einer Site handelt? Oder kann ich irgendwie die Page_id, die zu einem Kommentar gehört, abfragen?

    Vielleicht ließe sich ja folgendes zur Filterung verwenden:

    Die Kommentare, die ich ausfiltern möchte, haben in ihrer URl den Begriff "gaestebuch":

    http://www.blog. de/[color=red]gaestebuch[/color]/#comment-123

    Man könnte also irgendwie abfragen, ob die Zeichenkette aus comment_link ein "gaestebuch" enthält. Nur wie?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hab gebastelt:

    So funktioniert schon mal die Filterung. Jetzt ist nur schade, dass, wenn die Filterbedingungen positiv erfüllt sind (also entweder Track- oder Pingbacks oder "gaestebuch"-Kommentare auftauchen), diese einfach ausgefiltert werden und die Ausgabeliste nicht mehr 5 Kommentare lang ist, sondern 5 abzüglich der gefilterten. Wie kann ich das denn jetzt ändern?

  • Guten Morgen,

    abhilfe könnte das Plugin Get Recent Comments sein. Das Plugin bietet die möglichkeit Kommentare und Pingpacks Seperat anzeigen zu lassen.

    Desweiteren kann man mit Hilfe dieses Plugins Kategorien ganz auschließen aus der anzeige.

    In meinen Blog findes du das Plugin im Einsatz.

    Das funktioniert leider nicht, da danut pages nicht als eigene filterbare "kategorien" erkannt werdne.

  • Zitat

    Jetzt ist nur schade...

    Kann man das nicht in die SQL-Abfrage integrieren?

    Code
    WHERE ... comment_type='comment'

    [COLOR=#000000][COLOR=#CC0000]

    usw.?
    [/COLOR][/COLOR]

  • So etwa

    PHP
    $gaestebuch_pageid = 42;
    
    
    $comments = $wpdb->get_results("SELECT comment_type, comment_author,
    comment_author_url, comment_ID, comment_post_ID FROM $wpdb->comments WHERE
    comment_approved='1' AND comment_type='' AND comment_post_ID<>$gaestebuch_pageid
    ORDER BY comment_date_gmt DESC LIMIT 5");

    Für $gaestebuch_pageid muss man natürlich den richtigen Wert einsetzen.

  • Am besten über die user_id (sollte eigentlich für den Administrator 1 sein), comment_author kann sich auch mal ändern und ist nicht eindeutig.

    PHP
    $comments = $wpdb->get_results("SELECT comment_type, comment_author,
    comment_author_url, comment_ID, comment_post_ID, user_id FROM $wpdb->comments WHERE
    comment_approved='1' AND comment_type='' AND comment_post_ID<>$gaestebuch_pageid AND user_id<>1
    ORDER BY comment_date_gmt DESC LIMIT 5");

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!