Intereting Posts
Выполнение команды wp-cli на всех сайтах на сервере Необходимо выполнить пустой поиск. Создать вкладки «Создать» в файле single-{content-type} .php с настройками Custom Field Как включить или отключить фильтр woocommerce с помощью рамки redux Любая разница между сообщениями и страницами для одной страницы? Отображение определенного количества сообщений на странице архива таксономии Настройки cookie для сеанса через субдомены WPML с использованием пользовательского входа AJAX Как показать роль пользователя в author.php Добавить префикс URL в постоянные ссылки только на одну категорию сообщений Сохранить переупорядоченные перетаскиваемые элементы сообщения в базу данных wordpress Галерея изображений (Visual Composer) Список только записей определенной категории на странице категории Неожиданные = (знак равенства) в wp-почте Скрыть видео и щелкнуть значок кнопки воспроизведения на заголовке Плюсы и минусы пользовательской страницы и файла шаблона пользовательского типа

Получить программную ссылку по ссылке

Я хочу получить ссылку на категорию (указанную id), но с постраничным значением (например, страница 3 категории id 4).

Я искал get_category_link() Codex , но он возвращает только ссылку на первую страницу категории.

Есть ли встроенная функция, которую я могу использовать, чтобы получить ссылку на страницу категории, которая отражает настройки URL-макета блога ( ?paged=3 / /page/3 )?

Изменить: я добавил свое решение в качестве ответа .

Этот код, который у меня есть до сих пор, который выглядит так, как будто он выполняет эту работу, мне все еще интересно, есть ли функция API для задания:

 /** * @param (int) $category_id * @param (int) $pagenum * @return string */ function get_category_paged_link($category_id, $pagenum) { global $wp_rewrite; $link = get_category_link($category_id); if ($wp_rewrite->using_permalinks() || $wp_rewrite->using_index_permalinks()) { $link = sprintf ( '%s/%s/%d/', rtrim($link, '/'), $wp_rewrite->pagination_base, $pagenum ); } else { if (false === strpos($link, '?')) $link .= '?'; else $link .= '&'; $link .= sprintf('paged=%d', $pagenum); } return $link; } 

Я обнаружил, что get_term_link() (или аналогично get_category_link ) выведет симпатичный URL-адрес в зависимости от того, где он вызван, когда он вызван слишком рано (сначала я тестировал внутри файла функций темы) он просто выдает обычный URL-адрес запроса var var, например. http://example.com/?cat=5 , где, как при вызове позже (я тестировал в нижнем колонтитуле темы), вы получите URL-адрес в стиле permalink, например. http://example.com/category/nicename .

Ясно, что эти функции полагаются на то, что позже включается в последовательность загрузки (по крайней мере, после файла функций темы), я не могу точно определить, почему они ведут себя таким образом, но это мое первоначальное наблюдение, что также означает мой предыдущий комментарий о том, что нет внутренняя функция была неправильной.