Получить URL категории для текущей записи

20 июл. 2017 г., 15:06:06
Просмотры: 18.9K
Голосов: 0

Я использую этот код для получения категории текущей записи.

<?php $category = get_the_category();
$firstCategory = $category[0]->cat_name; echo $firstCategory;?>

Как я могу получить URL категории без выполнения дополнительного запроса к базе данных?

0
Все ответы на вопрос 1
5

Передайте ID категории в функцию get_category_link():

<?php
$category = get_the_category();
$link = get_category_link( $category[0]->term_id );
?>

Обновление Вывод в шаблоне:

<?php
$category = get_the_category();
$first_category = $category[0];
echo sprintf( '<a href="%s">%s</a>', get_category_link( $first_category ), $first_category->name );
?>
20 июл. 2017 г. 15:36:25
Комментарии

Он не выполняет дополнительный запрос к базе данных. Все необходимое для построения URL было возвращено при первоначальном запросе категории и помещено в кеш объектов. Я только что провел быстрый тест, и добавление get_category_link не увеличило количество запросов согласно Query Monitor.

Jacob Peattie Jacob Peattie
20 июл. 2017 г. 15:48:14

Ок, это выглядит перспективно... У меня возникли трудности с объединением этого в <a href="$link">$category</a>. Не могли бы вы помочь?

JoaMika JoaMika
20 июл. 2017 г. 16:31:45

Я обновил ответ.

Jacob Peattie Jacob Peattie
20 июл. 2017 г. 16:37:04

Без проблем. Если вы сможете принять мой ответ, это было бы замечательно ;)

Jacob Peattie Jacob Peattie
20 июл. 2017 г. 17:08:10

Работает отлично в 2023, спасибо

Nuno Sarmento Nuno Sarmento
27 июн. 2023 г. 00:40:35