Перечисление таксономий из пользовательского типа записи
У меня есть пользовательский тип записи с несколькими таксономиями внутри него
Например. тип должности называется campsites
, а таксономии различны counties
: чешир, Стаффордшир и т.д.
Что я хочу сделать, так это: перечислить все округа, и когда вы нажимаете на округ, он переходит на страницу, на которой перечислены все сообщения в этом округе. Как я могу это сделать?
1 answers
Существует множество функций для сбора необходимых вам данных, быстрый просмотр ссылки на функции Кодекса показывает множество полезных функций, которые вы можете использовать для создания этого.
Использовать get_term_link
чтобы получить ссылку на этот архив условий, и wp_get_object_terms
чтобы получить условия объекта/сообщения.
Чтобы получить все термины в таксономии, используйте get_terms
Вы найдете примеры на каждой странице функций, например, отображение всех терминов в таксономии и ссылки на они:
$args = array( 'taxonomy' => 'my_term' );
$terms = get_terms('my_term', $args);
$count = count($terms); $i=0;
if ($count > 0) {
$cape_list = '<p class="my_term-archive">';
foreach ($terms as $term) {
$i++;
$term_list .= '<a href="/term-base/' . $term->slug . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $term->name . '</a>';
if ($count != $i) $term_list .= ' · '; else $term_list .= '</p>';
}
echo $term_list;
}
Хотя этот пример можно было бы значительно улучшить, заменив код гиперссылки кодом, который использует get_term_link
.
Существуют и другие полезные функции, такие как wp_list_categories
, но эта функция не такая гибкая и ограничивает вас выпадающим списком или списком, а не любой произвольной разметкой, которую вы предпочитаете