我在商品成功添加到Woocommerce中的购物车时弹出的消息中添加了指向购物车页面的链接。但是,单击它不会执行任何操作。检查员确实显示了正确的工作链接。
// Add cart page URL
global $woocommerce;
$cart_url = $woocommerce->cart->get_cart_url();
$returnArray['messages']['success'] = sprintf(__('Products successfully added to cart! <a href="%s">View cart</a>','woocommerce'), $cart_url);
我想我应该注意代码的这一部分在页面中使用了两次:
global $woocommerce;
$cart_url = $woocommerce->cart->get_cart_url();
我知道两次使用相同的变量可能会导致问题,但是在这种情况下,它们仍然应该执行相同的操作,但这可能是原因吗?
编辑:更改了获取购物车页面网址的方法
$returnArray['messages']['success'] = sprintf( __('Products successfully added to cart! <a href="%s">View cart</a>','sf-european-fasteners'), wc_get_cart_url() );
答案 0 :(得分:0)
您的代码已过时和过时:
$global $woocommerce;
和$woocommerce
被替换为 WC()
,因此对于购物车:WC()->cart
。WC_Cart
方法get_cart_url()
,并由wc_get_cart_url()
函数代替。要更改或覆盖添加到购物车的消息,可以使用以下专用过滤器挂钩:
add_filter ( 'wc_add_to_cart_message_html', 'custom_add_to_cart_message', 10, 2 );
function custom_add_to_cart_message( $message, $products ) {
$message = sprintf( __('Products successfully added to cart! <a href="%s">View cart</a>','woocommerce'), wc_get_cart_url() );
return $message;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。它应该更好地工作。