Query ignoriert Kategorie

  • Ich möchte eine WP_Query-Abfrage erstellen, die folgende Eigenschaften hat:

    1) den zeitlich vor dem aktuellen Post liegenden Post suchen (previous_post)
    2) dieser kann in allen, bis auf einer Kategorie liegen (cat= - 8 )

    Dazu habe ich folgenden Code, der mir zwar auch den zeitlich vorherigen Post ausgibt, allerdings die Bedingung cat=-8 einfach ignoriert.

    Was mache ich bloß falsch?

    PHP
    <?php 
        $previous_post = get_previous_post();
        $myPosts = new WP_Query();
        $myPosts->query("cat=-8&p=$previous_post->ID");
    
    
        $myPosts->the_post(); 
        php the_title();
        php the_content();
    ?>
    • 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

  • Da du die ID des vorhergehenden Posts übergibst, trifft das immer den gleichen Post, egal ob er nun in der Kategorie 8 liegt oder nicht.
    Du müsstest also nach der Abfrage des Posts eine neue if-Bedingung erklären, und den Post nicht ausgeben wenn er in der Kategorie 8 ist.
    Wenn du dann noch weiter gehen willst, musst du eine Schleife so bauen, dass er weitermacht bis ein Post gefunden wurde.

    Vielleicht hättest du es damit leichter?
    http://codex.wordpress.org/Template_Tags/get_posts

    Einmal editiert, zuletzt von Narcanti (12. März 2009 um 19:24)

  • Vielen Dank für Deine Antwort. Das leuchtet ein. Klar bringt dann das Kategorie-Kriterium nichts.

    Ich bin leider nicht so fit in php. Aber bei dem, was ich jetzt über "get_posts" gefunden habe, war nichts dabei, von dem ich wüsste, wie man den vorherigen Post aufrufen kann, sondern nur die "offset"-Funktion, die aber vom neuesten Post runterzählt.

    Und bei der If-Schleife weiß ich leider nicht, wie ich die bauen kann. :(

    Für sachdienliche Hinweise oder noch einen kleinen Tipp wäre ich sehr dankbar.

Jetzt mitmachen!

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