首页 > 解决方案 > 在 Shortcode 中更改产品类别的 WooCommerce 添加到购物车消息

问题描述

我正在尝试根据“add_to_cart”短代码的类别更改“添加到购物车”消息。

我可以使用下面的代码在产品页面和存档页面上更改它。但是帖子/页面中的简码总是带有“立即购买”消息。

//Add to cart - change the message in single product pages

add_filter( 'add_to_cart_text','woo_custom_single_add_to_cart_text' );

add_filter('woocommerce_product_single_add_to_cart_text','woo_custom_single_add_to_cart_text' );

function woo_custom_single_add_to_cart_text() {

    if( has_term( array('Online Courses'), 'product_cat' ) )
         $text = __( 'Enrol Now', 'woocommerce' );
    else
        $text = __( 'Buy Now', 'woocommerce' );

    return $text; 
}


//Add to cart - change message in Archive pages
add_filter( 'woocommerce_product_add_to_cart_text','woo_custom_product_add_to_cart_text' );

function woo_custom_product_add_to_cart_text() {

    if( has_term( array('Online Courses'), 'product_cat' ) )
                $text = __( 'Enrol Now', 'woocommerce' );
    else
        $text = __( 'Buy Now', 'woocommerce' );
    return $text;
}

我希望当我在任何页面/帖子中包含“[add_to_cart id="4848"]”时,它应该显示该类别的“立即注册”。

标签: phpwordpresswoocommerce

解决方案


这对我来说是工作。

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_single_add_to_cart_text' ); // 2.1 +

function woo_custom_single_add_to_cart_text() {
if (has_term( array('uncategorized'), 'product_cat' ))
     $text = __( 'My Button Text', 'woocommerce' );
return  $text;

}

您可以尝试使用类别的 slug 吗?


推荐阅读