更改 Woocommerce 产品类别列表的字符串逗号分隔符

Change string comma separator for Woocommerce product category list

我想知道如何更改在前端单个产品视图中显示中间产品类别分类的逗号分隔符。

如果我有产品 A 的三个类别 (1 2 3),则在单个产品页面上将元显示为 - 类别:1、2、3

我想更改类别之间显示的分隔符逗号。例如 | 然后会将元显示为 Categories: 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 模板。所以认真阅读:Template structure & Overriding templates via a theme

因此您需要将模板文件 /single-product/meta.php 复制到“woocommerce”子文件夹>“单一产品”子文件夹下的活动子主题(或主题)文件夹中。

完成后,打开/编辑此文件并替换行 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>' ); ?>

相关文档:Function wc_get_product_category_list and Function wc_get_product_tag_list