首页 > 解决方案 > 显示随机类别 woocommerce - 主页

问题描述

在我的 eshop(woocommerce)中,我有 10 个类别。我在我的主页上仅显示 4 个(随机方法),并带有“查看更多”按钮。

但是 4 个类别仍然相同(最后一个类别)。

我想显示 10 个类别中的 4 个类别,而不是最后 4 个类别。

我的代码:

<?php 
$prod_categories = get_terms( 'product_cat', array(
'number'       => 4,
'exclude'      => array( 23 ),
'hide_empty'   => false,
));
shuffle( $prod_categories );
foreach( $prod_categories as $prod_cat ) :
$cat_thumb_id = get_woocommerce_term_meta( $prod_cat->term_id, 'thumbnail_id', true );
$shop_catalog_img = wp_get_attachment_image_src( $cat_thumb_id, $size = 'large' );
$term_link = get_term_link( $prod_cat, 'product_cat' );
?>
<div class="col-md-3">
<a href="<?php echo $term_link; ?>"><img src="<?php echo $shop_catalog_img[0]; ?>" alt="<?php echo $prod_cat->name; ?>" /><h2><?php echo $prod_cat->name; ?></h2></a>
</div>
<?php endforeach; wp_reset_query(); ?>

有什么建议吗?

标签: phpwordpresswoocommerce

解决方案


好的,它适用于此代码。

删除此行

'number'       => 4,

并在下面添加洗牌,这条线

$prod_categories= array_slice( $prod_categories, 0, 4 );

<?php 
$prod_categories = get_terms( 'product_cat', array(
'exclude'      => array( 23 ),
'hide_empty'   => false,
));
shuffle( $prod_categories );
$prod_categories= array_slice( $prod_categories, 0, 4 );
foreach( $prod_categories as $prod_cat ) :
$cat_thumb_id = get_woocommerce_term_meta( $prod_cat->term_id, 'thumbnail_id', true );
$shop_catalog_img = wp_get_attachment_image_src( $cat_thumb_id, $size = 'large' );
$term_link = get_term_link( $prod_cat, 'product_cat' );
?>
<div class="col-md-3">
<a href="<?php echo $term_link; ?>"><img src="<?php echo $shop_catalog_img[0]; ?>" alt="<?php echo $prod_cat->name; ?>" /><h2><?php echo $prod_cat->name; ?></h2></a>
</div>
<?php endforeach; wp_reset_query(); ?>

推荐阅读