Woocommerce вывод родительской категории товара

193
19 апреля 2018, 10:49

Доброго времени суток! Подскажите как в Wordpres, в плагине Woocommerce при заходе в подкатегорию или товар, можно вывести родительскую категорию, а точнее её ярлык. т.е зайдя в подкатегорию Офисная бумага, выведется тег бумага(paper_for print).

Вообщем прошу помощи с поиском тега род. категории у подкатегории.

p.s: Есть код функции, который выводит имя род. категории, не разобрался с ним, хотя может есть более рациональные способы

function wc_origin_trail_ancestor($link = false, $trail = false) {
  if (is_product_category()) {
    global $wp_query;
    $q_obj = $wp_query - > get_queried_object();
    $cat_id = $q_obj - > term_id;
    $descendant = get_term_by("id", $cat_id, "product_cat");
    $descendant_id
      = $descendant - > term_id;
    $ancestors = get_ancestors($cat_id, 'product_cat');
    $ancestors = array_reverse($ancestors);
    $origin_ancestor = get_term_by("id", $ancestors[0], "product_cat");
    $origin_ancestor_id = $origin_ancestor - > term_id;
    $ac = count($ancestors);
  } else if (is_product()) {
    $descendant = get_the_terms($post - > ID, 'product_cat');
    $descendant = array_reverse($descendant);
    $descendant = $descendant[0];
    $descendant_id = $descendant - > term_id;
    $ancestors = array_reverse(get_ancestors($descendant_id,
      'product_cat'));
    $ac = count($ancestors);
  }
  $c = 1;
  if ($trail == false) {
    $origin_ancestor_term = get_term_by("id", $ancestors[0], "product_cat");
    $origin_ancestor_link = get_term_link($origin_ancestor_term - > slug, $origin_ancestor_term - > taxonomy);
    if ($link == true) echo '<a href="'.$origin_ancestor_link.
    '">';
    echo $origin_ancestor_term - > name;
    if ($link == true) echo '</a>';
  } else {
    foreach($ancestors as $ancestor) {
      $ancestor_term = get_term_by("id", $ancestor, "product_cat");
      $ancestor_link =
        get_term_link($ancestor_term - > slug, $ancestor_term - > taxonomy);
      if ($c++ == 1) echo '» ';
      else if ($c++ != 1 || $c++ != $ac) echo ' » ';
      if ($link == true) echo '<a href="'.$ancestor_link.
      '">';
      echo $ancestor_term - > name;
      if ($link == true) echo '</a>';
    }
    $descendant_term = get_term_by("id", $descendant_id, "product_cat");
    $descendant_link = get_term_link($descendant_term - > slug, $descendant_term - > taxonomy);
    echo ' » ';
    if ($link == true) echo '
    <a href="'. $descendant_link .'">'; echo $descendant->name; if($link == true) echo '</a>'; } }
READ ALSO
Проверка на то что пользователь уже существует Symfony

Проверка на то что пользователь уже существует Symfony

Здравствуйте, сделал регистрацию и авторизацию на симфони 2 по этому туториалу: https://symfonycom

127
Python - PHP отличия побитового сдвига

Python - PHP отличия побитового сдвига

Пожалуйста поясните в чем косяк, переписываю одну функцию с php на pythonОсуществляется такой сдвиг:

164
Защита от XSS и обратный слеш

Защита от XSS и обратный слеш

На клиенте перед отправкой на сервер отсекаю практически всё за исключением русского, украинского и белорусского шрифтовДелаю это в первую...

174