在Woocommerce 3中自定义添加到购物车消息

时间:2018-08-11 10:15:29

标签: php html wordpress woocommerce notice

我在商品成功添加到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() );

1 个答案:

答案 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文件中。它应该更好地工作。