@Az94

Как добавить одним разом много подкатегории в одну категорию?

У меня такая проблема. Есть категория на сайте. -навыки. Мне одновременно нужно добавить несколько, то есть более 100. Как сделать это автоматически?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Evdokim001
PHP & WordPress developer
Если они в CSV документе то можно из импортировать.
Ответ написан
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Можете использовать этот пример. Для начала собираете простой массив ключ => значение с терминами, которые нужно опубликовать, получаете существующие термины get_terms(), в цикле простой проверкой in_array() проверяете существует ли такой термин в БД и при его отсутствии собираете набор аргументов и функцией для публикации на сайте с помощью wp_insert_category()

// Массив терминов, которые нужно добавить.
$brands = array(
	'audi'     => 'Audi',
	'bentley'  => 'Bentley',
	'bmw'      => 'BMW',
	'cadillac' => 'Cadillac',
);

$taxonomy        = 'car-brand'; // Основная таксономия.
$category_parent = 12; // Родительская категория.

// Получаем все термины таксономии.
$args = array(
	'taxonomy'   => $taxonomy,
	'fields'     => 'id=>slug',
	'hide_empty' => false,
);
$terms = get_terms( $args );

foreach ( $brands as $brand_slug => $brand_title ) {
	if ( ! in_array( $brand_slug, $terms, true ) ) {
		$term_args = array(
			'cat_name'             => $brand_title,
			'category_description' => '',
			'category_nicename'    => $brand_slug,
			'category_parent'      => $category_parent,
			'taxonomy'             => $taxonomy,
		);
		
		$term_id = wp_insert_category( $term_args );

		if ( is_wp_error( $term_id ) ) {
			var_dump( 'Ошибка инсерта термина ' . $brand_title . ' таксономии ' . $taxonomy . ': ' . $term_id->get_error_message() );
		} else {
			var_dump( 'Термин ' . $brand_title . ' таксономии ' . $taxonomy . ' опубликован удачно!' );
		}
	}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы