php 更改WooCommerce产品循环添加到购物车按钮到“查看更多”链接到产品

u3r8eeie  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(117)

我在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,我还没有弄清楚如何将其添加到“正常产品”中。

fd3cxomn

fd3cxomn1#

要使其适用于所有产品(外部和其他产品类型),您只需删除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' )
    );
}

字符串
代码放在你的子主题的functions.php文件中(或插件中)。测试和工作。
注意:此代码将替换您以前的代码。

相关问题