提问人:Alex Dubois 提问时间:11/11/2023 最后编辑:LoicTheAztecAlex Dubois 更新时间:11/11/2023 访问量:29
将 WooCommerce 产品循环添加到购物车按钮更改为链接到产品的“查看更多”
Change WooCommerce product loop add to cart button to a "view more" linked to the product
问:
我在 WooCommerce 上同时拥有外部和实体产品,而不是将您发送到外部产品或将产品添加到购物车的“添加到购物车”按钮,我希望为内部和外部产品提供一个按钮,上面写着“查看更多”并将用户发送到详细页面。
我能够使用上一个问题中的以下答案代码:
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_external_product_loop_add_to_cart_link', 100, 3 );
function replace_external_product_loop_add_to_cart_link( $button, $product, $args ) {
// Only for external products
if ( $product->is_type('external') ) {
$button = sprintf( '<a href="%s" class="%s" %s>%s</a>',
esc_url( $product->get_permalink() ),
esc_attr( 'button' ),
isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : '',
esc_html__( 'Ver Detalles' )
);
}
return $button;
}
但我的实体产品仍然说添加到购物车......
请参阅示例 www.faceup-romanorte.com,我无法弄清楚如何将其添加到“普通产品”中。
答:
1赞
LoicTheAztec
11/11/2023
#1
要使其适用于所有产品(外部和其他产品类型),您只需删除以下产品:if ( $product->is_type('external') ) {
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_external_product_loop_add_to_cart_link', 100, 3 );
function replace_external_product_loop_add_to_cart_link( $button, $product, $args ) {
return sprintf( '<a href="%s" class="%s" %s>%s</a>',
esc_url( $product->get_permalink() ),
esc_attr( 'button' ),
isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : '',
esc_html__( 'Ver Detalles' )
);
}
代码位于子主题的函数.php文件中(或插件中)。经过测试并有效。
注意:此代码将替换以前的代码。
评论