Видите ли, у меня есть две основные категории в WooCommerce: одна — «Бренды», а другая — «Категории». Я хотел бы отображать только подкатегории, присвоенные конкретному продукту в категории «Бренды». В моем случае категория «Бренды» (родительская) имеет идентификатор 15.
Фрагмент кода, который я сейчас протестировал и который подтвердил работоспособность, выглядит следующим образом:
Код: Выделить всё
function modfuel_woocommerce_before_order_add_cat($name, $item){
$product_id = $item['product_id'];
$_product = wc_get_product( $product_id );
$htmlStr = "";
$cats = "";
$terms = get_the_terms( $product_id, 'product_cat' );
$count = 0;
foreach ( $terms as $term) {
$count++;
if($count > 1){
$cats .= $term->name;
}
else{
$cats .= $term->name . ',';
}
}
$cats = rtrim($cats,',');
$htmlStr .= $_product->get_title();
$htmlStr .= "
Category: " . $cats . "
";
return $htmlStr;
}
add_filter('woocommerce_order_item_name','modfuel_woocommerce_before_order_add_cat', 10, 2);
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/657 ... rder-email