php - 更改 Woocommerce 产品类别列表的字符串逗号分隔符
问题描述
我试图弄清楚如何更改在前端单个产品视图上显示中间产品类别分类的逗号分隔符。
如果我有产品 A 的三个类别(1 2 3),那么在单个产品页面上将元显示为 -类别:1、2、3
我想更改类别之间显示的分隔符逗号。例如 | 然后将元显示为类别:1 | 2 | 3
我在寻找一种方法时遇到了这段代码:
// Content Views Pro - modify separator between categories
add_filter( 'pt_cv_post_terms_output', 'cvp_theme_post_terms_modify_separator', 100, 3 );
function cvp_theme_post_terms_modify_separator( $args, $links, $taxonomy_terms ) {
$args = implode( ' / ', $links ); # Remove the slash to use no separator
return $args;
}
我希望我能够使用类似的东西来实现我上面提到的。PHP 知识不是很好,因此我们将不胜感激任何正确方向的帮助。谢谢!
解决方案
这很简单。
首先,您需要自己了解如何通过活动主题覆盖 WooCommerce 模板。所以请仔细阅读: 模板结构和通过主题覆盖模板
因此,您需要将模板文件复制到/single-product/meta.php
“woocommerce”子文件夹>“single-product”子文件夹下的活动子主题(或主题)文件夹中。
完成后,打开/编辑此文件并替换行34
:
<?php echo wc_get_product_category_list( $product->get_id(), ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', count( $product->get_category_ids() ), 'woocommerce' ) . ' ', '</span>' ); ?>
通过以下行:
<?php echo wc_get_product_category_list( $product->get_id(), ' | ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', count( $product->get_category_ids() ), 'woocommerce' ) . ' ', '</span>' ); ?>
添加:对于产品标签替换行36
:
<?php echo wc_get_product_tag_list( $product->get_id(), ', ', '<span class="tagged_as">' . _n( 'Tag:', 'Tags:', count( $product->get_tag_ids() ), 'woocommerce' ) . ' ', '</span>' ); ?>
通过以下行:
<?php echo wc_get_product_tag_list( $product->get_id(), ' | ', '<span class="tagged_as">' . _n( 'Tag:', 'Tags:', count( $product->get_tag_ids() ), 'woocommerce' ) . ' ', '</span>' ); ?>
相关文档:函数 wc_get_product_category_list和函数 wc_get_product_tag_list