Frage zu WP_Query

  • Hallo Wordpress-Freunde,

    beim aufsetzen eines neuen Blogs bin ich auf ein Problem gestoßen. Ich bin sicher ihr habt einen Tip für mich.

    Auf der Startseite sollen "spezielle Posts" (z.B. "featured article") in einem abweichendem Design gegenüber den normalen Posts dargestellt werden. Auf der Startseite gibt es mehrere inhaltliche Kategorien mit jeweils drei Posts (einer davon "featured").

    Diese Posts sind in zwei Kategorien eingeordnet. Einmal inhaltlich (z.B. "Hardware" > Kategorie-ID: 17) und eine Kategorie als Markierung (z.B. "featured" > Kategorie-ID: 5).

    In meinem Theme erfolgt die Auswahl des speziellen Posts über ein WP_Query:

    PHP
    new WP_Query("cat=17&showposts=1");

    Mein Problem:
    Für ein einfaches Handling bei vielen zu erwartenden Posts, muss die WP_Query den Post auswählen, der in Kategorie "17" UND "5" gleichzeitig enthalten ist.

    Wie kann man per WP_Query zwei cat-Parameter mittels einer UND - Abfrage verknüpfen?

    Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.

    Danke und Grüße, René

    • 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

  • Hallo marX,
    danke für deine Schnelle Antwort. Leider bin ich in Sachen PHP noch nicht ganz fit. Nachfolgend findest Du den gegenwärtigen Code in Theme. Würdest Du mir noch einen Hinweis zur Modifikation geben? Er unterscheidet sich etwas von Deinem Vorschlag (z.B. "$recent->the_post()").

    PHP
    <div class="featured">
    				<?php $recent = new WP_Query("cat=17&showposts=1"); while($recent->have_posts()) : $recent->the_post();?>
    				<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
    				<?php the_content(__('Read the story &raquo;'));?><div style="clear:both;"></div>
    				<?php endwhile; ?>
    			</div>

    Danke für Deine Unterstützung!

    VG, René

  • PHP
    <div class="featured">
      <?php $recent = new WP_Query("cat=5,17&showposts=1"); ?>
      <?php while($recent->have_posts()) : $recent->the_post();?>
        <?php if( in_category(5) && in_category(17) ) : ?>
          <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
          <?php the_content(__('Read the story &raquo;'));?>
          <div style="clear:both;"></div>
        <?php endif; ?>
      <?php endwhile; ?>
    </div>

    So müsste es klappen.
    Ansonsten versuchs mit query_posts() und ohne $recent (wie ich das oben bereits angedeutet hatte).

Jetzt mitmachen!

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