it-swarm.com.de

Dynamische Variable für individuelle Taxonomie in Schleife?

Ich habe eine benutzerdefinierte Seitenvorlage, die alle benutzerdefinierten Posts mit dem post_type "product_listing" UND der benutzerdefinierten Taxonomie "product_cat" von "shirts" durchläuft und 4 Posts pro Seite zurückgibt (siehe unten).

<?php $loop = new WP_Query( array( 'post_type' => 'product_listing', 'product_cat' => 'shirts', 'posts_per_page' => 4 ) ); ?>

Es liegt in der Verantwortung des Kunden, diese Kategorien zu verwalten. Ich möchte anstelle von "Shirts" eine Variable zuweisen, damit ich die Vorlage nicht jedes Mal ändern muss, wenn der Kunde eine neue Produktkategorie hinzufügt (z. B. Schuhe, Hosen usw.).

Ich bin keineswegs ein Programmierer. Hat jemand einen Codeausschnitt, der dafür funktionieren würde? Oder vielleicht ein Artikel, in dem ich mehr über das Zuweisen dynamischer Variablen in der Schleife lesen könnte? Vielen Dank!

1
RodeoRamsey

Anscheinend musste ich die Funktion schleifen, um die Variable zu setzen:

<!-- BEGIN CODE FOR PRODUCT AREA -->
   <?php $prod_cats = get_terms('product_cat');
   foreach ($prod_cats as $prod_cat) {
      $cat_name = $prod_cat->name; ?>
        <div id="products">
        <!-- post begin -->
        <?php $loop = new WP_Query( array( 'post_type' => 'product_listing', 'posts_per_page' => 4, 'product_cat' => $cat_name ) ); ?>
        <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
        <div class="product-tease" id="post-<?php the_ID(); ?>">
            <div class="upper">
                <h3><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
                <p align="center"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php echo catch_that_image() ?>" /></a></p>
                <?php the_excerpt('Read the rest of this entry &raquo;'); ?>
            </div>
            <span class="btn-readon"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">Read On</a></span>
            </div>
        <?php endwhile; ?>
        <br clear="all" />
        <!-- post end -->
        <br clear="all" />
          <?php wp_reset_query(); ?>
          <?php rewind_posts(); ?>
        </div>
   <?php } // End foreach $prod_cats ?>
0
RodeoRamsey

Sie können die Produktkategorie von Ihrem Kunden über ein benutzerdefiniertes Feld hinzufügen lassen.

<?php $loop = new WP_Query( array( 'post_type' => 'product_listing', 'product_cat' => get_post_meta($post->ID, 'product_cat', true), 'posts_per_page' => 4 ) ); ?>

Dies sollte funktionieren, wenn Ihr Client einen benutzerdefinierten Feldwert für den Schlüssel 'product_cat' hinzufügt.

0
Horttcore