我在 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,我一直无法弄清楚如何将其添加到“普通产品”中。
要使其适用于所有产品(外部和其他产品类型),您只需删除
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' )
);
}