我目前正在开发WooCommerce网上商店。我选择了“按类别选择”选项,首页显示前3个类别。
我希望它显示3个随机类别,而不是前三个类别。
我能够在我的function.php(下面的代码)中添加一个自定义函数,以增加列出的类别数量(到10),但我无法按随机顺序显示这些类别。
add_filter('storefront_product_categories_shortcode_args','custom_storefront_category_per_page' );
// Category Products
function custom_storefront_category_per_page( $args ) {
$args['number'] = 10;
return $args;
}
我已经厌倦了设置$ args [' orderby'] =" rand&#34 ;;没有运气。我猜这只适用于产品。我应该改变什么功能才能拥有" Shop By Category"首页上的部分列出3个随机类别,而不是AESC或DESC顺序中的3个类别?
答案 0 :(得分:1)
如果orderby = rand不适用于您的情况,请尝试以下技巧。
- 首先,您需要获取要在页面中显示的产品的随机类别。
- 然后将其传递给短代码。
$categories = get_terms( array(
'taxonomy' => 'product_cat',
'hide_empty' => true,
) );
$all_cat = array();
foreach( $categories as $cat ){
$all_cat[] = $cat->name;
}
$random_cat // get and create random category with comma seperated. and pass it to the shortcode.
$randomCat = "tshirt, shirt";
echo do_shortcode('[products limit="8" columns="4" category="$randomCat" cat_operator="AND"]'); ?>