Вопрос

Мне нужно создать функцию для WP, которая будет проверять, является ли текущая категория одновременно дочерней по отношению к категории X и родительской по отношению к категории Z.

Идеи?

Это было полезно?

Решение 3

Наконец мне удалось написать это простое решение для того, чтобы родительские и дочерние элементы формировали текущую просматриваемую категорию в Wordpress:

  $children = $wp_query->query_vars[category__in];
  $count = 0;

  echo 'Parent: ' . $wp_query->queried_object->parent;
        echo ' | ';
  echo 'Children: ';

  foreach ($children as $child) { 
   if (($wp_query->query_vars[category__in][$count]) != ($wp_query->query_vars[cat])) {
     echo $wp_query->query_vars[category__in][$count];
     echo ' ';
    }
   $count++;
  }

Другие советы

Непроверенный запрос MySQL для начала:

SELECT x.cat_ID, y.cat_ID, z.cat_ID
FROM   categories y,
    LEFT JOIN categories x ON y.parent = x.cat_ID,
    LEFT JOIN categories z ON z.parent = y.cat_ID,
WHERE  y.cat_name = ? AND
       x.cat_name = ? AND
       z.cat_name = ?

Попробуй это:

<?php
$catid = get_query_var('cat');
if (cat_is_ancestor_of($catid,$test_child_cat) && cat_is_ancestor_of($test_parent_cat,$catid)) {
echo "Current Category is child of X and Parent of Y";
}
?>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top