Как отобразить категории WordPress на главной странице

Даны 5 категорий и их подкатегорий на моем веб-сайте WordPress. Подкатегории содержат сообщения. Я хочу отображать категории (только категории) на моей главной странице. Когда пользователь нажимает на любую категорию, я хочу показать все ее подкатегории на другой странице, а когда пользователь нажимает на любую подкатегорию, я хочу отображать все сообщения, содержащиеся в этой категории.

Пожалуйста, скажите мне, как это сделать? Я изучил руководства по категориям WordPress, но ничего не понял.


person Danish iqbal    schedule 04.08.2015    source источник


Ответы (1)


Добавьте следующий код в шаблон главной страницы:

wp_list_categories();

Это распечатает список всех ваших категорий. Затем вы можете скрыть подкатегории, если хотите, используя CSS.

По умолчанию при нажатии на ссылку категории открывается страница категории, в которой используется шаблон category.php, и на ней отображаются все сообщения в этой категории.

Дополнительная информация здесь: https://codex.wordpress.org/Template_Tags/wp_list_categories

Чтобы перечислить подкатегории определенной категории:

$category_id = get_cat_ID('Category Name');
$categories = get_categories(array('child_of' => $category_id));
foreach($categories as $category) { 
    echo '<a href="' . get_category_link( $category->term_id ) . '">' .       $category->name.'</a><br> ';
}
person Sean H    schedule 04.08.2015
comment
Хорошо, теперь я заработал. Как насчет отображения только подкатегорий на следующей странице? - person Danish iqbal; 04.08.2015
comment
Вы имеете в виду показ только подкатегорий категории, показанной на странице категории? - person Sean H; 04.08.2015
comment
@Danishiqbal Я отредактировал свой ответ выше, чтобы показать, как перечислить подкатегории определенной категории. - person Sean H; 04.08.2015
comment
Спасибо, Seano. Пожалуйста, посмотрите эту страницу: sodagir.com/blog Теперь у меня есть две категории. Эти категории содержат подкатегории. Что я хочу сделать, так это то, что когда я нажимаю «Ноутбук / компьютер», на следующей странице отображаются подкатегории «ноутбук / компьютеры». - person Danish iqbal; 04.08.2015
comment
Вот что я сделал с вашим кодом, я добавил название категории в первую строку и скопировал его между тегами ‹?php?›. ничего не появляется. - person Danish iqbal; 04.08.2015
comment
@Danishiqbal Вы поместили этот код в шаблон category.php? - person Sean H; 04.08.2015
comment
ой !! Я понятия не имею о category.php, поэтому позвольте мне сначала изучить его, а затем я свяжусь с вами снова. - person Danish iqbal; 04.08.2015
comment
Кстати, я использую Archive.php вместо category.php. Имеет ли это какое-то значение? И да, я попытался, скопировав указанный вами код в home.php, single.php и Archive.php. ничего не появляется. - person Danish iqbal; 04.08.2015
comment
category.php — это шаблон, который используется при посещении страницы категории, например «Ноутбуки и компьютеры», поэтому вы должны поместить туда этот код. Если вы считаете, что я ответил на ваш вопрос, отметьте его как принятый. Спасибо - person Sean H; 04.08.2015