Как создать массив с идентификатором категории продукта на основе значения метаполя - PullRequest
0 голосов
/ 07 апреля 2020

Я готовлю массивный импорт файлов 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')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...