目前,当有人在我们的网站上添加产品时,它会说:" X Product"已添加到您的购物车|然后有一个"继续购物"右侧通知中的按钮。
由于我们只销售2种产品,我们希望完全删除继续购物按钮,但仍然会留下其余信息,并保留" X Product"作为一个链接。
我一直在使用以下代码(但它取代了使用Checkout继续购物,我更喜欢完全删除按钮)。我只是无法弄清楚如何删除按钮,但仍然保持消息的其余部分完全相同:
add_filter( 'woocommerce_continue_shopping_redirect', 'my_changed_woocommerce_continue_shopping_redirect', 10, 1 );
function my_changed_woocommerce_continue_shopping_redirect( $return_to ){
$return_to = wc_get_page_permalink( 'checkout' );
return $return_to;
}
add_filter( 'wc_add_to_cart_message_html', 'my_changed_wc_add_to_cart_message_html', 10, 2 );
function my_changed_wc_add_to_cart_message_html($message, $products){
if (strpos($message, 'Continue shopping') !== false) {
$message = str_replace("Continue shopping", "Checkout", $message);
}
return $message;
}
答案 0 :(得分:4)
使用preg_replace查找包含完整链接的字符串,并返回带有所有原始HTML减去链接的新消息。
add_filter('wc_add_to_cart_message_html','remove_continue_shoppping_button',10,2);
function remove_continue_shoppping_button($message, $products) {
if (strpos($message, 'Continue shopping') !== false) {
return preg_replace('/<a.*<\/a>/m','', $message);
} else {
return $message;
}
}
答案 1 :(得分:0)
/* Start Disable Continue Shopping Message after Add to Cart
*/
add_filter( 'wc_add_to_cart_message', function( $string, $product_id = 0 ) {
$start = strpos( $string, '<a href=' ) ?: 0;
$end = strpos( $string, '</a>', $start ) ?: 0;
return substr( $string, $end ) ?: $string;
});
/* End Disable Continue Shopping Message after Add to Cart
*/
答案 2 :(得分:-2)
如果有兴趣的话,下面的代码会完美地修复它,只需用你的购物车页面的任何页面ID替换id-407:
/* Remove Continue Shopping Button Add Cart */
body.page-id-407 .woocommerce-message .button {
display: none
}