Intereting Posts
Это правильный способ использования пользовательских типов сообщений и таксономии Панель инструментов редактора сообщений WordPress отсутствует add_image_size пейзаж или портрет Dropzone.js в ClassiPress pre_get_posts не работает Включить таксономию в почтовый URL Удалить цену из раскрывающегося меню переменной переменной Woocommerce Неустранимая ошибка: Непринятая ошибка: вызов неопределенной функции get_option () Почему я получаю уведомления по электронной почте о комментариях, которые WordPress уже определил, являются спамом? WordPress на localhost по-прежнему указывает на живой сайт Почему в моем пользовательском меню не отображается мое сообщение? Каковы ПРЕИМУЩЕСТВА ОРИГИНАЛЬНОЙ структуры шаблона WordPress? Правильный способ создания мета-поля с более чем одним мета-полем Временно дать возможность «manage_options» Изменение URL-адреса изображения из wp_get_attachment_image_src

Запрошенные вары не заданы в основном запросе

У меня есть функция, которая проверяет параметры страницы и глобальные параметры для определения класса, связанного с боковыми панелями. Я вызываю функцию из шаблона archive.php и пытаюсь проверить, что post_type является «post», однако параметр post_type var не задан.

Соответствующий код:

 function get_sidebar_class() { global $wp_query; echo 'Post type: ' . get_query_var( 'post_type' ); echo '<pre>' . print_r( $wp_query->query_vars, true ) . '</pre>'; } 

post_type возвращается для обеих попыток. Почему он не установлен? Другие переменные (например, category ) заданы, но не post_type .

Query vars … это весело. В зависимости от того, какой архив вы используете с get_post_type() может быть достаточно просто сделать это (он получает тип от фактического сообщения, а не запроса).

В противном случае вам может понадобиться get_queried_object() чтобы выяснить, что именно вы имеете в get_queried_object() .

Какой тип страницы / сообщения вы просматриваете, когда вы повторяете это? post_type не заполняется при просмотре post или post archive . Попробуйте на страницах и посмотрите, видите ли вы post_type в этот момент.

Я полагаю, что post_type заполняется чем-либо сообщением EXCEPT и, возможно, страницами – страницы не имеют архива, поэтому он может просто иметь свойство page хранящее идентификатор или slug и т. Д. Поэтому, по существу, он используется только для пользовательских типов сообщений .

Альтернативным способом получения запросов является $wp_query->get( 'post_type' ) ; , Если post_type установлен, вы можете получить его таким образом.