php - 在 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"]”时,它应该显示该类别的“立即注册”。
解决方案
这对我来说是工作。
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 吗?
推荐阅读
- metamodel - 如何在不使用 uml 序列图元模型的情况下实现“序列图”
- eigen3 - Eigen3 无法使用 cmake 安装:RegexUtils not found
- amazon-web-services - IAM policy allow creation of policies, but disallow changes of own account
- string - 刀片语法 - 检索以数字开头的项目
- c++ - openMP:从并行区域调用并行函数
- javascript - 如何使用 Reactjs 将对象数据渲染到表中
- javascript - 强制 Javascript(节点)等待 exec
- maven - 为什么 Maven 连接到 archiva.openqa.org
- node.js - 如何修复此消息 angular observable
- c - 仅包含标头库的多个包含导致重新定义错误