在Woocommerce 3中自定义购物车商品删除通知

时间:2018-08-09 20:25:27

标签: wordpress woocommerce cart product notice

我正在使用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;
}

但是我对如何进行其余的编辑有些困惑。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

已更新

唯一可用的挂钩是您已经在使用的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文件中。经过测试,可以正常工作。

  

但是您不能更改或添加button html标签的<a>标签类
  相反使用现有的restore-item标签类为其添加一些自定义CSS样式

下面是一些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;
}

这是您将得到的:

enter image description here