Динамическая переменная для пользовательской таксономии в цикле?


У меня есть пользовательский шаблон страницы, который просматривает все пользовательские сообщения с типом post_type "product_listing" И пользовательской таксономией "product_cat" "рубашки" и возвращает 4 сообщения на страницу (как показано ниже:)

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

Ответственность за управление этими категориями лежит на клиенте. Я хотел бы назначить переменную для отображения вместо "рубашки", чтобы мне не приходилось изменять шаблон каждый раз, когда клиент добавляет новую категорию товаров (например, обувь, брюки и т. Д.).

Я ни в коем случае не программист. У кого-нибудь есть фрагмент кода, который бы работал для этого? Или, может быть, статью, которую я мог бы прочитать больше о назначении динамических переменных в цикле? Спасибо!

Author: RodeoRamsey, 2010-12-13

2 answers

Вы можете разрешить своему клиенту добавлять категорию продукта с помощью настраиваемого поля.

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

Это должно сработать, если ваш клиент добавит пользовательское значение поля для ключа "product_cat".

 0
Author: Horttcore, 2010-12-13 09:15:50

По-видимому, мне нужно было зациклить функцию, чтобы установить переменную:

<!-- 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
Author: RodeoRamsey, 2010-12-14 00:42:18