Получить Wordpress Категория из одного поста - PullRequest
28 голосов
/ 27 ноября 2010

Я заканчиваю тему WP и использую шаблон single.php. У меня возникли некоторые проблемы, поскольку мне нужен доступ к родительской категории, в которой находится сообщение, для отображения определенных изображений и содержимого XML.

Вот пример того, о чем я говорю. Ниже приводится конечный URL-адрес одного сообщения:

/ андрей / лист-арт-2 /

/andrew/ - это категория, а leaf-art-2 - это одна запись. Когда я нахожусь на одном посте, у меня возникают проблемы с получением single_cat_title(); для возврата категории, в которой находится текущее сообщение. Я использую single_cat_title(); вместо the_category();, потому что он отображает строковое значение категории, которую я затем используйте для размещения картины художника (чья это категория) на своих постах. Я не использую URL, мне просто нужна строка с названием категории.

Есть ли хорошие способы сделать это? Я искал Кодекс Wordpress и множество форумов, и пока не нашел ответов.


Следующим был мой оригинальный пост.

Я установил категорию под названием «художники», и при запуске single_cat_title("", false); я могу получить строковое значение категории, а затем использовать его для поиска подходящего изображения художника с помощью XML.

Это прекрасно работает на странице шаблона category.php.

Проблема в том, что когда я на самом деле внутри одного поста, который имеет категорию «художники», single_cat_title (); не выводит какую-либо информацию на страницу, поэтому я не могу получить доступ к данным XML.

Мне нужно, находясь в посте "artist"> "sample", получить из WP категорию.

P.S. вышеуказанная категория является одной из многих, использующих эту настройку, поэтому я не могу жестко ее кодировать.

Ответы [ 2 ]

58 голосов
/ 27 ноября 2010

Как насчет get_the_category ?

Вы можете сделать

$category = get_the_category();
$firstCategory = $category[0]->cat_name;
7 голосов
/ 19 апреля 2013

Для ленивых и для обучения, чтобы поместить это в вашу тему, полный код Rfvgyhn

<?php $category = get_the_category();
$firstCategory = $category[0]->cat_name; echo $firstCategory;?>
...