删除继续购物按钮从添加到购物车通知

时间:2018-03-01 21:24:05

标签: woocommerce

目前,当有人在我们的网站上添加产品时,它会说:" 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;

}

3 个答案:

答案 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
}