修改购物车和结账表中的产品名称

时间:2021-06-03 10:08:53

标签: woocommerce

TL;DR

我想在购物车和结帐中更改产品名称,以便显示属性名称的名称。

现在:我的产品名称 - 蓝色

如我所愿:我的产品名称 - 颜色:蓝色


详情

我可以在案例中看到,打印它的是这些行:

<td class="product-name" data-title="<?php esc_attr_e( 'Product', 'woocommerce' ); ?>">
    <?php
    if ( ! $product_permalink ) {
        echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;' );
    } else {
        echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
    }

    do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );

    // Meta data.
    echo wc_get_formatted_cart_item_data( $cart_item ); // PHPCS: XSS ok.

    // Backorder notification.
    if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
        echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'woocommerce' ) . '</p>', $product_id ) );
    }
    ?>
</td>

我在这里找到了另一个帖子:Add Product ID after the cart item,建议如下:

add_filter( 'woocommerce_cart_item_name', 'just_a_test', 10, 3 );
function just_a_test( $item_name,  $cart_item,  $cart_item_key ) {
    // Display name and product id here instead
    echo $item_name.' ('.$cart_item['product_id'].')';
}

.. 但这会附加到产品名称上。我想修改现有的。


解决方案尝试 1

我在 here 上找到了修复。

是:

add_filter( 'woocommerce_product_variation_title_include_attributes', '__return_false' );
add_filter( 'woocommerce_is_attribute_in_product_name', '__return_false' );

理想情况下,我想控制自己,每个变体的显示方式。所以这不是一个完整的修复,而是朝着正确方向迈出的一步。

额外问题我自己怎么能找到这两个过滤器?

我在 WooCommerce-code for cart

中看不到它们

0 个答案:

没有答案