如何在WooCommerce中为加入购物车按钮文本包裹span标签?
解决WooCommerce归档页加入购物车按钮HTML结构分离问题
如果你不想把HTML标签混在按钮文本的返回值里,可以直接重写整个加入购物车按钮的HTML结构,用woocommerce_loop_add_to_cart_link过滤器来实现,这样能把标签结构和文本内容彻底分开:
// 重写产品归档页的加入购物车按钮 add_filter( 'woocommerce_loop_add_to_cart_link', 'custom_loop_add_to_cart_button_html', 10, 2 ); function custom_loop_add_to_cart_button_html( $button_html, $product ) { // 定义按钮文本,也可以用$product->add_to_cart_text()获取默认文本 $button_text = __( 'Add to Cart Button Text', 'woocommerce' ); // 构建完整的按钮HTML结构 $button_html = sprintf( '<a href="%s" data-quantity="1" class="button"> <span>%s</span> </a>', esc_url( $product->add_to_cart_url() ), esc_html( $button_text ) ); return $button_html; }
说明
- 这个过滤器直接接管了按钮的整个HTML输出,你可以自由调整
<a>标签的属性(比如class、data-*属性),也能单独修改<span>里的文本内容。 - 如果需要保留WooCommerce默认的按钮文本逻辑,把
$button_text改成$product->add_to_cart_text()即可,再通过woocommerce_product_add_to_cart_text过滤器单独修改文本,完全分离结构和内容。
内容的提问来源于stack exchange,提问作者LOTUSMS
相关产品推荐
相关产品推荐

