Meist kommentiere Posts des letzten Monats.

  • Servus,

    brauch mal Eure Hilfe ... bei einemProjekt möchte ich die letzten 5 Posts, die in den letzten 30 Tagen am meisten kommentiert worden sind, ausgeben.

    Das ganze sollte "WP_schonend" klar gehen .. im Bezug auf die DB Queries .

    Bin jetzt soweit hier ..

    Gibt´s noch ne andere Lösung? Und wie realisiere ich das jetzt am besten mit dem "top 5 letzte 30 Tage" ...

    Thx
    NOMANSLAND

    <?php if (have_read_this()) : while (have_read_this()) : read_it_again(); ?>

    • 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

  • bei einemProjekt möchte ich die letzten 5 Posts, die in den letzten 30 Tagen am meisten kommentiert worden sind, ausgeben.


    Also die Posts, die in den letzten 30 Tagen die meisten neuen Kommentare erhalten haben? Oder einfach die Posts der letzten 30 Tage, sortiert nach Anzahl der Kommentare? Deine Query würde das 2. machen.

    Die erste Abfrage wird deutlich komplizierter. Du müsstest dir die Kommentare-Tabelle her nehmen, nach Datum selectieren und nach Post-ID gruppieren:

    SQL
    SELECT comment_post_ID, COUNT(comment_post_ID) comments_count
    FROM wp_comments
    WHERE DATE_ADD(comment_date, INTERVAL 1 MONTH) >= CURDATE()
    GROUP BY comment_post_ID
    ORDER BY comments_count DESC


    (Ich hab den Tabellennamen hier mal hartcodiert, besser wäre es natürlich die $wpdb-member zu verwenden ;))

    So, damit hast du die Post-IDs und die dazugehörige Anzahl der Kommentare der letzten 30 Tage. Jetzt die dazugehörigen Posts zu holen ist trivial und überlasse ich dir zur Übung. :mrgreen:

Jetzt mitmachen!

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