修改WooCommerce产品循环按钮:将加入购物车改为查看详情
WooCommerce 替换全类型产品循环中的“加入购物车”按钮为“查看详情”
修改方案
直接替换WooCommerce默认的产品循环按钮模板,就能覆盖所有产品类型(实体产品、外部产品等):
步骤1:创建/编辑主题模板文件
在你的子主题目录下新建 woocommerce/loop/add-to-cart.php 文件(如果已经有这个文件就直接编辑),把内容替换成下面的代码:
<?php /** * Loop Add to Cart * * 可以通过复制此文件到子主题的 woocommerce/loop/ 目录下进行重写 * * @package WooCommerce\Templates * @version 3.3.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } global $product; // 所有产品统一显示“查看详情”按钮,跳转至对应产品详情页 echo sprintf( '<a href="%s" class="button product_type_%s">%s</a>', esc_url( $product->get_permalink() ), esc_attr( $product->get_type() ), esc_html__( '查看详情', 'woocommerce' ) ); ?>
步骤2:按需调整(可选)
如果不想全类型替换,只想针对实体产品和外部产品修改,用下面的代码:
<?php if ( ! defined( 'ABSPATH' ) ) { exit; } global $product; // 仅替换实体产品和外部产品的按钮 if ( $product->is_type( array( 'simple', 'external' ) ) ) { echo sprintf( '<a href="%s" class="button product_type_%s">%s</a>', esc_url( $product->get_permalink() ), esc_attr( $product->get_type() ), esc_html__( '查看详情', 'woocommerce' ) ); } else { // 其他产品类型保留原有按钮逻辑 do_action( 'woocommerce_loop_add_to_cart' ); } ?>
注意事项
- 一定要用子主题修改,不然主题更新后自定义代码会丢失。
- 修改完记得清一下网站缓存,确保新模板生效。
内容的提问来源于stack exchange,提问作者Alex Dubois
相关产品推荐
相关产品推荐

