Я пытаюсь решить, как удалить варианты продукта (атрибуты / мета) из названия продукта / элемента, особенно при отправке автоматических электронных писем через WooCommerce.
Я успешно удалил эти атрибуты из названий и разместил их ниже в корзине, оформлении заказа, истории заказов в моей учетной записи, создании счетов-фактур и упаковочных накладных (счета-фактуры WooCommerce PDF и упаковочные листы). Однако, когда я отправляю электронные письма, они остаются (они также остаются в заголовке на странице Подробности заказа администратора, что раздражает, но это не конец света).
Отказ от ответственности, я новичок в WooCommerce и узнаю, как правильно применять фильтры.
Исходя из моих исследований, я уверен, что мне нужно настроить фильтр woocommerce_order_item_name, но я не совсем уверен, что мне нужно специально настраивать.
Я нашел похожую статью, но она имела в виду очень специфический набор условий:
WooCommerce - удаление варианта из названия продукта в деталях заказа и по электронной почте
Текущий код:
/* Woocommerce: Item Descriptions: Cart/Order - Removing attribute values from Product variation title */
add_filter( 'woocommerce_product_variation_title_include_attributes', 'variation_title_not_include_attributes' );
function variation_title_not_include_attributes( $boolean ){
if ( ! is_cart() )
$boolean = false;
return $boolean;
}
/* Woocommerce: Item Descriptions: Cart/Order - Display Product variation attributes label and values in separate rows */
add_filter( 'woocommerce_is_attribute_in_product_name', 'remove_attribute_in_product_name' );
function remove_attribute_in_product_name( $boolean){
if ( ! is_cart() )
$boolean = false;
return $boolean;
}
/* Woocommerce: Item Descriptions: Checkout page - Remove the quantity from the product title */
add_filter( 'woocommerce_checkout_cart_item_quantity', 'remove_product_variation_qty_from_title', 10, 3 );
function remove_product_variation_qty_from_title( $quantity_html, $cart_item, $cart_item_key ){
if ( $cart_item['data']->is_type('variation') && is_checkout() )
$quantity_html = '';
return $quantity_html;
}
/* Woocommerce: Item Descriptions: Checkout page - Add back the cart item quantity in a separate row */
add_filter( 'woocommerce_get_item_data', 'filter_get_item_data', 10, 2 );
function filter_get_item_data( $item_data, $cart_item ) {
if ( $cart_item['data']->is_type('variation') && is_checkout() )
$item_data[] = array(
'key' => __('QTY'),
'display' => $cart_item['quantity']
);
return $item_data;
}
/* Woocommerce: Item Descriptions: Remove Attributes in Packing Slip & Invoice */
add_filter( 'wpo_wcpdf_order_item_data', 'wpo_wcpdf_remove_variation_from_product_title', 10, 3 );
function wpo_wcpdf_remove_variation_from_product_title( $item_data, $order, $template_type ) {
if ( !empty($item_data['product']) && $item_data['product']->is_type( 'variation' ) ) {
$item_data['name'] = $item_data['product']->get_title();
}
return $item_data;
}