Ссылка на пользовательскую таксономию по идентификатору

Из-за ряда конкретных требований я обнаружил, что должен ссылаться на пользовательскую категорию таксономии, используя ее термин 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>';
Другие вопросы по тегам