Задать вопрос
lexx633
@lexx633
Вебмастер, сисадмин

Как выставить значение родительской категории на основе дополнительных переменных?

Приветствую, знатоков!
Дано :
категория_1 id11 parent_id0 ext_id77 ext_id_parent0
категория_2 id22 parent_id0 ext_id88 ext_id_parent0
категория_3 id33 parent_id0 ext_id99 ext_id_parent77
у каждой категории есть локальные id и айди её предка, а также внешние айди (импортируемый файл).
И задача в коде на основе соответствия по внешним айди родителей, проставить внутреннее соответствие.
по данному примеру по внешним данным категория_3 вложена в первую, и значения категория_3 (parentid0) обновиться на 11.
С помощью функции wp_update_term вручную указав айди, значение родительской категории проставляется на ура:
function update_local_parent_id ( $parent_id , $id = true ) {
  $parent_id = 11; // категория_1 является родительской для 3
  $term_id = 33;  //категория_3
  $taxonomy = 'product_cat'; 
  $args = array( 'parent' => $parent_id ); 
  $result = wp_update_term($term_id, $taxonomy, $args); 
}

в каждой категории добавлено значение внешнего айди $_ext_id и внешнего значения категории $_ext_parent_id,
считывание массива каталогов по совпадению с $ext_parent_id происходит через :
function get_cat_child ( $ext_parent_id , $id = true ) {
    $args = array(
        'hide_empty' => false,
        'meta_query' => array(
            array(
            'key'       => '_ext_parent_id',
            'value'     => $ext_parent_id,
            'compare'   => '='
            )
        )
    );
    $terms = get_terms( 'product_cat', $args );
}

а по совпадению с $ext_id соответственно через :
function get_cat_parent ( $ext_id , $id = true ) {
    $args = array(
        'hide_empty' => false,
        'meta_query' => array(
            array(
            'key'       => '_ext_id',
            'value'     => $ext_id,
            'compare'   => '='
            )
        )
    );
    $terms = get_terms( 'product_cat', $args );
}


Прошу подсказать как это всё связать?
прописать в переменную 'parent' у категории, которая получена через функцию get_cat_child значение term_id родительской категории которое получено через get_cat_parent
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@yarnd
Приветствую, Александр!

Штатные механизмы Wordpress (Woocommerce) позволяют реализовать данную задачу. Подробнее по e-mail: jekko11@yahoo.com
Ответ написан
Ваш ответ на вопрос

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

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