Ссылка на пользовательскую таксономию по идентификатору
Из-за ряда конкретных требований я обнаружил, что должен ссылаться на пользовательскую категорию таксономии, используя ее термин id...
У меня есть это - которое отображает ссылку на все таксономии - я хочу изменить его, чтобы оно отображало только ссылку на таксономию с термином id, динамически извлекаемым из настраиваемого поля, которое я использую.
$taxonomy = 'event-categories';
$terms = get_terms($taxonomy);
if ($terms) {
foreach($terms as $term) {
echo '<li><a href="http:/mysite.com/events/categories/project-events/' . $term->slug . '">' . $term->name .'</a></li>';
}
};
По сути, мне нужно "link_to_taxonomy_category(x)", где x = term_id
Спасибо
2 ответа
Функция, которую вы ищете get_term_link
, Он принимает термин "объект", "идентификатор" или "slug" и имя таксономии и возвращает URL-адрес целевой страницы.
Как примечание: жесткое кодирование ссылки, как у вас в приведенном выше примере, хрупко - всегда держите ваш код как можно более переносимым. Если сайт будет перемещен на другой домен, эта ссылка будет разорвана. WordPress имеет несколько функций, которые генерируют ссылки динамически в зависимости от текущей среды установки. get_term_link
это один пример.
Из Кодекса:
$terms = get_terms('species');
echo '<ul>';
foreach ($terms as $term) {
echo '<li><a href="'.get_term_link($term->slug, 'species').'">'.$term->name.'</a></li>';
}
echo '</ul>';
Если у вас есть один term_id
например: 10
, таможенная таксономия series
затем вы можете использовать следующий код, чтобы получить ссылку на термин таксономии.
примечание: измените 10 на вашу переменную для term_id и 'series' для вашей таксономии.
$term = get_term( 10, 'series' );
$term_link = get_term_link( $term );
echo '<a href="' . $term_link . '">View All</a>';