get_query_var () и permalinks

У меня есть структура permalink, которая выглядит так,

% Категория% /% postname%

У меня есть шаблон category.php, закодированный и пытающийся вытащить сообщение определенной категории, так что, например, мой URL-адрес может выглядеть так,

/ Категория / category1

Я хочу, чтобы все сообщения, которые находятся в категории1, возвращаются, при использовании следующего кода я возвращаю null,

get_query_var('cat')

Я предполагаю, что этот код ищет URL, который выглядит так,

Кошка = category1

Итак, как мне заставить работать с постоянными ссылками?

Solutions Collecting From Web of "get_query_var () и permalinks"

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

Спецификатор запроса cat будет определен как идентификатор запрашиваемой категории, а не имя.

Тем не менее, это:

 $my_category = get_query_var('cat'); echo $my_category; 

должен распечатать выбранный идентификатор категории на странице категории. Если это не так, нам нужно будет увидеть ваш код, чтобы помочь вам дальше.

Кроме того, посмотрите на глобальный $wp_query чтобы увидеть все запросы, заданные на определенной странице:

 global $wp_query print_r($wp_query); 

Это помогло мне получить мой ответ, я обнаружил, что объект из

 global $wp_query 

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

 $category = get_query_var('category_name'); $categoryid = array(get_cat_ID( $category )); 

это особенно полезно с pre_get_posts