我尝试添加一个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
答案 0 :(得分: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文件中。
经过测试和工作。