限制在woocommerce单个产品页面中出现的类别数量


Limit the number of categories appearing in the woocommerce single product page

我想限制在woocommerce单个产品页面中出现的类别数量。目前,"单一产品"文件夹中的meta.php正在抓取所有类别以显示。我想把它限制在4或5。

我看不懂文件中的$product->get_categories()

您可以回显以下短代码来显示模板文件中的类别列表,6是显示的类别数量:

<?php echo do_shortcode("[product_categories number='6' parent='0']"); ?>

你既可以制作自己的模板,也可以跳过woocommerce使用的臃肿代码。

您可以通过使用一些默认的php函数来实现这一点。逻辑是使用implode() php函数从$product->get_categories(', ')默认woocommerce函数生成的字符串创建一个数组。在此之后,通过使用array_slice() php函数获取数组的切片来限制结果的数量。设置第二个参数将是结果的数量(在我的示例中是5)。当完成限制后,我们应该使用php函数explosion()将数组转换回逗号分隔的字符串。

短版:

echo implode(', ', (array_slice((explode(', ', $product->get_categories( ', ' ))), 0, 5, true)));

更长,说明版本:

$categories_string = $product->get_categories( ', ' );
$categories_array = explode(', ', $categories_string);
$categories_to_display_array = array_slice($categories_array, 0, 5, true);
$categories_to_display_string = implode(', ', $categories_to_display_array);
echo $categories_to_display;