Я пытаюсь автоматически установить категории продуктов Woocommerce из тегов продуктов при импорте продуктов с использованием плагина WP All Imports.
Например: я импортирую определенные заголовки хлебных крошек как теги продуктов: Спорт / Обувь / Беговые кроссовки> Теперь я хочу подключить этот заголовок к заранее определенной иерархии категорий:
Тег: Спорт / Обувь / Кроссовки => Каталог товаров: Обувь / Бег
Может быть, есть плагин, где можно поставить теги в заранее определенных категориях продуктов, чтобы отображать выбранные продукты в категории?
Я нашел следующий код, близкий к тому, что мне нужно для достижения моей цели:
function auto_add_category ($product_id = 0) {
if (!$product_id) return;
// because we use save_post action, let's check post type here
$post_type = get_post_type($post_id);
if ( "product" != $post_type ) return;
$tag_categories = array (
'ring' => 'Jewellery'
'necklace' => 'Jewellery',
'dress' => 'Clothing',
);
// get_terms returns ALL terms, so we have to add object_ids param to get terms to a specific product
$product_tags = get_terms( array( 'taxonomy' => 'product_tag', 'object_ids' => $product_id ) );
foreach ($product_tags as $term) {
if ($tag_categories[$term->slug] ) {
$cat = get_term_by( 'name', $tag_categories[$term->slug], 'product_cat' );
$cat_id = $cat->term_id;
if ($cat_id) {
$result = wp_set_post_terms( $product_id, $cat_id, 'product_cat', true );
}
}
}
}
add_action('save_post','auto_add_category');