Всем привет!
Очень прошу помочь мне с этим вопросом. Чтобы читатель понимал, что я не с пустого места задаю такой вопрос, могу сказать, что я потратил несколько дней на понимание структуры формирования страниц пользовательской таксономии. Я полагаю, что я сделал 80% работы и мне нужно только соединить это воедино.
Вот что я хочу сделать:
prntscr.com/8r8pdt
prntscr.com/8r8phr
prntscr.com/8r8pky
Вот описание проблемы:
Я хочу создать сайт каталог организаций. У организации должно быть порядка 8 полей различного характера, поэтому возникла необходимость создания кастомной таксономии. Я создал пользовательскую таксономию с помощью плагина. У каждой записи в админке я создал по несколько дочек-категорий -
prntscr.com/8r758y.
Так вот, мне нужно создать/модифицировать четыре страницы для вывода постов и категорий:
[A] каталог родительских категорий(главная страница),
[B] каталог всех категорий всех уровней(страница каталог),
[C] каталог родительской категории с подкатегориями каждого подуровня(страница, на которую попадаешь, когда кликаешь по главной родительской категории на главной странице[A])(страница отдельной категории),
[D] сама пользовательская запись(страница поста).
[A] Главная страница.
На главной нужно, чтобы выводились только родительские категории самого верхнего уровня. У каждой такой категории должна быть ссылка на список подкатегорий(каталог родительской категории с подкатегориями каждого подуровня[C]).
[B] Страница каталога(почти тоже самое, что и главная страница).
Отличие в том, что на главной выведены только родительские категории, а в каталоге выведены все категории.
[C] Каталог родительской категории.
Здесь должны быть выведены подкатегории и под-подкатегории главной родительской категории, на которую кликнул пользователь с главной страницы. Помимо этого, после каждой самой низшей под-подкатегории должен быть выведен список записей соответствующей под-под категории. У каждой подкатегории и под-подкатегории не должно быть ссылок, но должно быть выведено количество постов у каждой подкатегории. По клику на организацию мы должны переходить на страницу поста.
[D] сама пользовательская запись(страница поста).
В ней должны быть выведены все пользовательские поля.
Вроде написано много, и возможно звучит внушительно, но, как мне кажется, это обычный вывод записей с небольшой модификацией категорий. То есть задача простая.
Вот, что я сделал:
Ссылка на главную - leon-tgn.ru.
Ссылка на каталог - leon-tgn.ru/catalog/
Ссылка на запись - leon-tgn.ru/company/autotehcentr-maximum/
Я на главной странице вывел список главных категорий.
Вывел вот так:
<ul>
<?php $hiterms = get_terms("company_category", array("orderby" => "slug", "parent" => 0, "hide_empty" => 0)); ?>
<?php foreach($hiterms as $key => $hiterm) : ?>
<li>
<?php $term_link = get_term_link( $hiterm ); ?>
<a href="<?php echo esc_url( $term_link ); ?>">
<span><?php echo $hiterm->name; ?></span>
</a>
</li>
<?php endforeach; ?>
</ul>
И у них есть ссылки. Но ссылки ведут не туда. Такое ощущение, что категория ссылается на саму себя. Хотя для вывода записи я создал шаблон taxonomy-company.php. И по сути он работает, если я вижу вот эти поля записи по этой ссылке - leon-tgn.ru/company/autotehcentr-maximum/. Собственно для каталога я также создал шаблон taxonomy-company_category.php. Этот шаблон я через админку прилинковал к странице каталога. И он тоже работает.
Вот его код:
<?php
$args = array(
'hide_empty' => 0,
'hierarchical' => 1,
'taxonomy' => 'company_category',
'walker' => null
);
wp_list_categories( $args );
?>
Надеюсь, я понятно объяснил. Чувствую, что я неправильно создал шаблоны для вывода категорий и записей. Но что именно я упустил, я не знаю. Подскажите, пожалуйста.
Буду очень благодарен каждому.