Проверьте if_parent и if_child в Wordpress - PullRequest
0 голосов
/ 29 ноября 2009

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

Идеи

Ответы [ 3 ]

2 голосов
/ 29 ноября 2009

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

<?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";
}
?>
2 голосов
/ 29 ноября 2009

Непроверенный 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 = ?
1 голос
/ 03 декабря 2009

Я наконец-то написал это простое решение для получения родительских и дочерних элементов из текущей просматриваемой категории в 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++;
  }

...