Php 编辑电子商务助推器插件短代码

Php 编辑电子商务助推器插件短代码,php,wordpress,woocommerce,shortcode,Php,Wordpress,Woocommerce,Shortcode,我为woocommerce使用了一个名为Booster的插件。我用它来构建我自己的产品提要。有一个快捷码,以这种格式(字符串)返回整个产品类别分支: 水果,苹果,青苹果 不幸的是,我需要它以这种格式返回这些类别: “水果|苹果|青苹果” 我在插件文件中找到了此短代码的函数: function wcj_product_categories( $atts ) { $return = ( WCJ_IS_WC_VERSION_BELOW_3 ) ? $this->the_produ

我为woocommerce使用了一个名为Booster的插件。我用它来构建我自己的产品提要。有一个快捷码,以这种格式(字符串)返回整个产品类别分支:

水果,苹果,青苹果

不幸的是,我需要它以这种格式返回这些类别:

“水果|苹果|青苹果”

我在插件文件中找到了此短代码的函数:

    function wcj_product_categories( $atts ) {
    $return = ( WCJ_IS_WC_VERSION_BELOW_3 ) ? $this->the_product->get_categories() : wc_get_product_category_list( $atts['product_id'] );
    return ( false === $return ) ? '' : $return;
}
快捷码代码中的“wc_get_product_category_list”函数如下所示:

function wc_get_product_category_list( $product_id, $sep = ', ', $before = '', $after = '' ) {
return get_the_term_list( $product_id, 'product_cat', $before, $sep, $after );
}

我可以直接在这个woocommerce函数中替换“,”for“|”,但我担心这会导致其他插件或woocommerce函数出现问题。因此,我需要的基本上是编辑插件函数,使其通过“wc_get_product_category_list”获取类别列表(字符串),然后将该字符串插入变量并更改“,”for“|”,但我不知道如何在php中实现这一点

对不起,我的英语很差,希望你明白我的意思。 谢谢你的帮助

//编辑:可以这样做吗

    function wcj_product_categories( $atts ) {
            $product_list = wc_get_product_category_list( $atts['product_id'] );
            $new_string = str_replace(","," |",$product_list);
    $return = ( WCJ_IS_WC_VERSION_BELOW_3 ) ? $this->the_product->get_categories() : $new_string;
    return ( false === $return ) ? '' : $return;
}

编辑插件文件不是一个好主意,因为您所做的更改将在更新过程中丢失。相反,请在functions.php中创建自己的短代码:

remove_shortcode( 'wcj_product_categories');
add_shortcode( 'wcj_product_categories', 'my_wcj_product_categories' );

function my_wcj_product_categories( $atts ) {
    $output = wcj_product_categories( $atts );
    $output = str_replace( ",", " |", $output);

    return $output;
}