В Woocommerce, как я могу отображать имена категорий продуктов в деталях заказа (и в бэкэнде Wordpress). Также возможно включить их в уведомления по электронной почте.
Это можно сделать следующим образом:
// Display order items product categories (Orders on front end and emails)
add_action( 'woocommerce_order_item_meta_end', 'display_custom_data_in_emails', 10, 4 );
function display_custom_data_in_emails( $item_id, $item, $order, $bool ) {
// Get the product categories for this item
$terms = wp_get_post_terms( $item->get_product_id(), 'product_cat', array( 'fields' => 'names' ) );
// Output a coma separated string of product category names
echo "<br><small>" . implode(', ', $terms) . "</small>";
}
// Display order items product categories in admin order edit pages
add_action( 'woocommerce_after_order_itemmeta', 'custom_admin_order_itemmeta', 15, 3 );
function custom_admin_order_itemmeta( $item_id, $item, $product ){
//if( ! is_admin() ) return; // only backend
// Target order "line items" only to avoid errors
if( $item->is_type( 'line_item' ) ){
// Get the product categories for this item
$terms = wp_get_post_terms( $item->get_product_id(), 'product_cat', array( 'fields' => 'names' ) );
// Output a coma separated string of product category names
echo "<br><small>" . implode(', ', $terms) . "</small>";
}
}
Код идет в файле function.php вашей активной дочерней темы (или активной темы). Протестировано и работает.