一直试图找到这个,但我到目前为止找到的解决方案不起作用 .
我需要在单个产品页面中显示添加到购物车按钮,如下所示:
ADD TO CART - JUST $PRICE
它需要从子主题中的functions.php文件中完成 .
非常感谢!
我建议你从子主题覆盖WooCommerce模板,文件名是add-to-cart.php,可以在woocommerce> loop找到 .
在底部添加以下代码,它将仅显示在产品单中 .
if (is_single()) { echo sprintf( '<span>%s %s</span>', esc_attr__('JUST', 'woocommerce'), esc_attr($product->price) ); }
像这样编辑你的 woocommerce/loop/add-to-cart.php 模板文件:
woocommerce/loop/add-to-cart.php
if ( ! defined( 'ABSPATH' ) ) { exit; } global $product; echo apply_filters( 'woocommerce_loop_add_to_cart_link', // WPCS: XSS ok. sprintf( '<a href="%s" data-quantity="%s" class="%s" %s>ADD TO CART - JUST %s</a>', esc_url( $product->add_to_cart_url() ), esc_attr( isset( $args['quantity'] ) ? $args['quantity'] : 1 ), esc_attr( isset( $args['class'] ) ? $args['class'] : 'button' ), isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : '', $product->get_price() ), $product, $args );
对于单个产品页面,基本相同:
woocommerce/single-product/add-to-cart/simple.php
以及您在add-to-cart目录中使用的任何其他模板 .
要使用专用的Woocommerce过滤器挂钩处理商店,其他档案页面和单个产品页面 without any need of overriding templates 上所有产品价格的“按购物车”按钮显示产品价格:
add_filter( 'woocommerce_product_add_to_cart_text', 'custom_add_to_cart_price', 20, 2 ); // Shop and other archives pages add_filter( 'woocommerce_product_single_add_to_cart_text', 'custom_add_to_cart_price', 20, 2 ); // Single product pages function custom_add_to_cart_price( $button_text, $product ) { // Variable products if( $product->is_type('variable') ) { // shop and archives if( ! is_product() ){ $product_price = wc_price( wc_get_price_to_display( $product, array( 'price' => $product->get_variation_price() ) ) ); return $button_text . ' - From ' . strip_tags( $product_price ); } // Single product pages else { return $button_text; } } // All other product types else { $product_price = wc_price( wc_get_price_to_display( $product ) ); return $button_text . ' - Just ' . strip_tags( $product_price ); } }
代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .
On shop page:
On single product pages:
3 回答
我建议你从子主题覆盖WooCommerce模板,文件名是add-to-cart.php,可以在woocommerce> loop找到 .
在底部添加以下代码,它将仅显示在产品单中 .
像这样编辑你的
woocommerce/loop/add-to-cart.php
模板文件:对于单个产品页面,基本相同:
woocommerce/single-product/add-to-cart/simple.php
以及您在add-to-cart目录中使用的任何其他模板 .
要使用专用的Woocommerce过滤器挂钩处理商店,其他档案页面和单个产品页面 without any need of overriding templates 上所有产品价格的“按购物车”按钮显示产品价格:
代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .
On shop page:
On single product pages: