在 Woocommerce 3 中自定义购物车项目删除通知

Customize cart item removed notice in Woocommerce 3

我使用的是 WooCommerce 3.4.4 版本,当您按下 "X" 按钮从购物车页面删除产品时,我正在尝试编辑通知消息。

目前通知是"<product name>" removed. Undo? 我想删除引号并将消息更改为 Product name has been removed. [Undo button]

我已成功通过写作

删除了产品名称中的引号
add_filter( 'woocommerce_cart_item_removed_title', 'removed_from_cart', 10, 2);
function removed_from_cart( $message, $product_data ) {
    $product = get_the_title($product_data['product_id']);
    $message = $product;
    return $message;
}

但我对如何进行其余编辑有点困惑。感谢任何帮助。

已更新

唯一可用的挂钩是您已经在使用的 woocommerce_cart_item_removed_title。并在引号之间显示产品名称。您还可以使用 gettex 过滤器挂钩删除“撤消”文本后的 ?

add_filter( 'woocommerce_cart_item_removed_title', 'removed_from_cart_title', 12, 2);
function removed_from_cart_title( $message, $cart_item ) {
    $product = wc_get_product( $cart_item['product_id'] );

    if( $product )
        $message = sprintf( __('Product %s has been'), $product->get_name() );

    return $message;
}

add_filter('gettext', 'cart_undo_translation', 35, 3 );
function cart_undo_translation( $translation, $text, $domain ) {

    if( $text === 'Undo?' ) {
        $translation =  __( 'Undo', $domain );
    }
    return $translation;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。

But you can not change or add button tag class the the <a> html tag…
Instead use the existing restore-item tag class adding some custom CSS styles to it.

下面是一些 CSS 样式示例,您可以将其添加到活动子主题的 styles.css 文件中:

.woocommerce-message .restore-item, {
    float: right;
    padding: 0 0 0 1em;
    background: 0 0;
    color: #fff;
    box-shadow: none;
    line-height: 1.618;
    border-width: 0 0 0 1px;
    border-left-style: solid;
    border-left-color: rgba(255,255,255,.25)!important;
    border-radius: 0;
}
.woocommerce-message .restore-item:hover {
    background: 0 0;
    color: #fff;
    opacity: .8;
}

这就是您将获得的: