我有一个自定义页面模板,可以循环浏览所有自定义帖子,帖子类型为“product\\u listing”,自定义分类法为“product\\u cat”,内容为“shirts”,每页返回4篇帖子(如下所示:)
<?php $loop = new WP_Query( array( \'post_type\' => \'product_listing\', \'product_cat\' => \'shirts\', \'posts_per_page\' => 4 ) ); ?>
客户有责任管理这些类别。我想指定一个变量来显示以代替“衬衫”,这样我就不必在客户每次添加新产品类别(如鞋子、裤子等)时修改模板。
我决不是一个程序员。有没有人有一段代码可以用于此目的?或者我可以读一篇关于在循环中分配动态变量的文章?谢谢
最合适的回答,由SO网友:RodeoRamsey 整理而成
显然,我需要循环函数来设置变量:
<!-- 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 »\'); ?>
</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 ?>
SO网友:Horttcore
您可以让客户通过自定义字段添加产品类别。
<?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\\u cat”添加自定义字段值,则应该可以这样做。