背景: 我的网站销售各种风格的密钥标签(库存包含750多个),但标签只能以三个一组的形式出售,因为这是库存的到来方式。为了让客户只有购买三人一组的选项,我们创建了产品包或套装(包含3种风格的单独产品),我试图使用wordpress产品短代码替换添加到购物车按钮对于单标签样式。单个标签和相应的包具有相似的sku名称,差别是在包的sku末尾为k。
问题: 下面是我用来检查产品是否是单个标签的代码,以及我是否在插入添加到购物车的单个产品短代码。它不会在产品页面上显示短代码
function add_content_after_addtocart(){
$current_product_id = get_the_ID();
$product = wc_get_product( $current_product_id );
$bundSku = $product->get_sku();
$bundSku .= "k";
if( $product->is_type('simple') ){
echo do_shortcode('[product size="small" sku="{$bundSku}"]');
}
}
add_action('woocommerce_after_add_to_cart_button','add_content_after_addtocart');
答案 0 :(得分:0)
替换此行:
echo do_shortcode('[product size="small" sku="{$bundSku}"]');
通过这个:
echo do_shortcode("[product size='small' sku='{$bundSku}']");
现在应该可以工作......所以你的功能代码将是:
add_action('woocommerce_after_add_to_cart_button','add_content_after_addtocart');
function add_content_after_addtocart() {
$current_product_id = get_the_ID();
$product = wc_get_product( $current_product_id );
$bundSku = $product->get_sku();
$bundSku .= "k";
if ($product->is_type('simple')) {
echo do_shortcode("[product size='small' sku='{$bundSku}']");
}
}
代码放在活动子主题(或主题)的function.php文件中。经过测试和工作。