Intereting Posts
Как получить список популярных плагинов с помощью WordPress.org Plugin API? Может ли плагин WordPress или тема содержать вирус? Не удалось удалить категорию и тег, которые используют один и тот же пул Почему wordpress multisite перенаправляет на wp-signup, если сайт существует? ни один из моих css не работает в моей дочерней теме Используйте регулярное выражение для получения тега из URL-адреса permalink во время wp_rewrite в generate_rewrite_rules Конкретный цикл для 2 <div> Внутри каждого <li> Пользовательская кнопка общего доступа Facebook с настраиваемым заголовком, URL-адресом, изображением в wordpress WP_User_Query с более чем двумя настраиваемыми мета значениями Имеет ли WordPress счетчик посещений? Пользовательский маршрут для WP-API дает значение «rest_no_route» Изменение отображения цены Woocommerce Как ограничить отображаемые сообщения в wordpress Frontend Post с выпуском JQuery AJAX для Php Термины с более чем одним вхождением имеют класс текущего меню в меню

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

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

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

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

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

Solutions Collecting From Web of "Динамическая переменная для пользовательской таксономии в цикле?"

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

 <?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».

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

 <!-- 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 ?>