在Woocommerce商店页面中更改简单产品的“添加到购物车”按钮

问题描述 投票:0回答:1

我尝试添加一个jquery来更改html和链接,但由于ajax_add_to_cart,它并没有真正起作用。

jQuery(document).ready(function($) {
    var url = $('li.product-type-simple .product-category').attr('href');
    $(this).find('.add-to-cart-button').attr('href', url).html('View Details');
});

当您在此页面中注意到它显示选择选项时:

我希望它会显示为查看详细信息,并将重定向到产品页面。

但是在functions.php中添加这个是让产品无法购买:

add_filters( 'woocommerce_is_purchasable', false, $this );

我也添加了这个,但它不起作用。

// added by Vahn
/*PUT THIS IN YOUR CHILD THEME FUNCTIONS FILE*/

/*STEP 1 - REMOVE ADD TO CART BUTTON ON PRODUCT ARCHIVE (SHOP) */

function remove_loop_button(){
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
}
add_action('init','remove_loop_button');



/*STEP 2 -ADD NEW BUTTON THAT LINKS TO PRODUCT PAGE FOR EACH PRODUCT */

add_action('woocommerce_after_shop_loop_item','replace_add_to_cart');
function replace_add_to_cart() {
global $product;
$link = $product->get_permalink();
echo do_shortcode('<br>[button link="' . esc_attr($link) . '"]Read more[/button]');
}

//end added
php jquery wordpress woocommerce product
1个回答
3
投票

您应该尝试以下代码(如果需要,您可以在其中更改或自定义按钮)。但是,如果您的主题已经在此进行自定义,则无法正常工作:

add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 30, 2 );
function replace_loop_add_to_cart_button( $button, $product  ) {
    if( $product->is_type( 'simple' ) ){
        $button_text = __( "View product", "woocommerce" );
        $button = '<a class="button" href="' . $product->get_permalink() . '">' . $button_text . '</a>';
    }

    return $button;
}

代码位于活动子主题(或主题)的function.php文件中。

经过测试和工作。

© www.soinside.com 2019 - 2024. All rights reserved.