Я готовлю массивный импорт файлов CSV к продуктам и категориям Woocommerce. Используя плагин WP All Import, я обнаружил проблему с синтаксисом категорий (есть отдельные файлы CSV с категориями и продуктами)
В качестве обходного пути мне удается сделать функцию PHP в я сопоставляю идентификатор категории продукта «идентификатор срока» с созданным мной пользовательским мета-значением «catid».
Например, продукт cat «General» с идентификатором «1000» имеет мета-ключ «catid» со значением "2399" ... Product cat "Товары для дома" с идентификатором '1001 "-> catid =" 2400 "... и т. д.
Другими словами, мне нужно найти категории по его мета-значение, а не по их внутреннему term_id. После этого создайте массив с переведенным значением.
Было бы неплохо иметь функцию, в которую я вводил бы массив значений, и он возвращал массив переведенных значения.
Например:
function mycategories ($cats) {
$args = array(
'hide_empty' => false, // also retrieve terms which are not used yet
'meta_query' => array(
array(
'key' => 'catid',
'value' => $cats,
'compare' => '='
)
)
);
$terms = get_terms( 'product_cat', $args );
foreach( $terms as $term ) {
$mycats = $term->term_id;
}
return($mycats);
}
Это работает, но только когда я передаю уникальное значение в функции, например: mycategories ('2399').
Но как было бы, когда у него более одной категории? т.е.: mycategories ( '2399,2400,2401')