Wordpress: это дочерний элемент функции категории - PullRequest
1 голос
/ 12 октября 2010

Я ищу функцию, которая просто возвращает истину или ложь.Функция проверит, является ли запрашиваемый архив категорий дочерним по отношению к определенной родительской категории.Функция будет выглядеть примерно так (аналогично функции is_category()):

if(is_child_of_category('3')){ //do something }
if(is_child_of_category('4')){ //do something else }
if(is_child_of_category('5')){ //do something entirely different }

Я просмотрел документацию и форумы, но не нашел никаких решений, идей, если это было сделано, иликак можно это сделать?

///////////// addendum ////////////

Вот рабочий кодчто я написал с помощью Gavin:

Спасибо Gavin

сначала функция для файла functions.php, чтобы получить идентификатор категории:

function getCurrentCatID(){
global $wp_query;
if(is_category() || is_single()){
$cat_ID = get_query_var('cat');
}
return $cat_ID;
}

Следующее использование cat_is_ancestor_of

$post = $wp_query->post;
$id = getCurrentCatID();

if (cat_is_ancestor_of (3, $ id) {include (TEMPLATEPATH. '/Unique.php');}

Ответы [ 2 ]

2 голосов
/ 12 октября 2010

cat_is_ancestor_of

Это вернет true, однако, если категория является внуком указанной категории.

0 голосов
/ 06 ноября 2013

Мне нужно что-то похожее вчера, поэтому я написал эту функцию, которая возвращает мне массив со всеми дочерними категориями + родительской категорией (что может быть полезно, если вы хотите, скажем, скрыть форму комментария во всех FAQ -попубликовать сообщения и их детей, но показывать их другим).

Передайте $ catname как var и получите массив обратно, который вы можете использовать в качестве аргумента, например, в. Функция in_category ().

// Get List of Child Categories
function get_child_cats( $catname ) {
    $parentcat = get_cat_ID( '$catname' );
    $subcat = get_categories( array('child_of' => $parentcat ) );
    $cat_array = array();
    array_push($cat_array, $parentcat); // add the parent cat to the array
    foreach ($subcat as $sc) {
        array_push($cat_array, $sc->cat_ID);
    }
    return $cat_array;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...