Как получить имя родительской категории в шаблоне WordPress? А можно ли запросить пост по родительской категории? - PullRequest
5 голосов
/ 04 августа 2009

Я пытался получить помощь на форумах WordPress, но безуспешно. В любом случае, вот мой вопрос ...

Допустим, я создаю 10 родительских категорий и 2 подкатегории для каждого родителя. Мой пост WordPress принадлежит к одной подкатегории конкретной родительской категории

Как получить ТОЛЬКО название родительской категории? Я не хочу названия подкатегорий? какой код WordPress сделает это?

И еще один вопрос ...

Можно ли запросить сообщение по родителю подкатегории, используя:

но вместо ввода cat=1 или названия определенной категории, я могу сделать что-то вроде:

Таким образом, он автоматически вставит и запросит сообщение для родителя какой-либо конкретной подкатегории, на которую нажали?

Ответы [ 4 ]

5 голосов
/ 27 февраля 2010

Чтобы получить имя родительской категории, используйте функцию get_cat_name() с родителем в качестве параметра - например, так:

$cat = get_the_category();
$parentCatName = get_cat_name($cat[0]->parent);
3 голосов
/ 13 декабря 2011

Все эти ответы потерпели неудачу для меня.

Мне в итоге удалось отобразить название самой верхней категории поста, например:

        $categories = get_the_category();
        $category= '';
        foreach($categories as $childcat) {
            $parentcat = $childcat->category_parent;
            if($parentcat>0){
                $category = get_cat_name($parentcat);
                continue;
             }
        }
        $category = (strlen($category)>0)? $category :  $categories[0]->cat_name;
1 голос
/ 23 февраля 2011

Нашел этот ответ, который дает вам слизня первого предка. Его можно легко изменить, чтобы дать вам имя.

Понял здесь: http://nick.boldison.com/wordpress/wordpress-get-top-level-parent-category/

<?php
// get parent category slug
$parentCatList = get_category_parents($cat,false,',');
$parentCatListArray = split(",",$parentCatList);
$topParentName = $parentCatListArray[0];
$sdacReplace = array(" " => "-", "(" => "", ")" => "");
$topParent = strtolower(strtr($topParentName,$sdacReplace));
?>

На самом деле, чтобы получить имя родителя:

// get parent category slug
$parentCatList = get_category_parents($cat,false,',');
$parentCatListArray = split(",",$parentCatList);
$topParentName = $parentCatListArray[0];
0 голосов
/ 04 августа 2009

Много ответов и примеров в документах Wordpress:

получить категорию родителей

получить категорию

(и похоже, что некоторые фрагменты кода или другой текст не были найдены в вашем исходном вопросе)

...