Intereting Posts
Как запретить кому-либо вводить строки, не делая их доступными для перевода? Получать сообщения с одинаковым значением мета как текущее сообщение Когда я пишу сообщения, мне обычно приходится использовать нераспадающийся элемент пространства, чтобы сохранить поля между предложениями. Зачем? 500 – внутренняя ошибка сервера Невозможно использовать meta_query между значениями валюты, когда значение превышает 1 миллион Как включить эскизы в виджетах панели управления RSS Изображение по умолчанию не отображается в Customizer для WP_Customize_Cropped_Image_Control Отправка отправки электронной почты GravityForm на другой сайт Как эффективно решить проблему установки WordPress локально для каждого нового проекта? оптимизировать вызов WordPress Word Пользовательский MetaBox: пункт меню еды Доступные даты Пустой экран _wpnonce Показать полный шаблон дочерних страниц, включая контент Экспорт меню навигации Как удалить вложения из основного запроса через pre_get_posts?

Single.php различное поведение от admin до non-admin

Для того же сообщения у меня внезапно возникает странное поведение файла single.php между обычным пользователем и администратором.

В начале цикла я выполняю:

 echo '<pre dir="ltr">'; print_r($GLOBALS['wp_query']); echo '</pre>'; 

И результат другой.

В случае администратора:

 [queried_object_id] => 603 [request] => SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_name = 'test' AND wp_posts.post_type = 'aya-bi-aya' ORDER BY wp_posts.post_date DESC 

В случае не-администратора:

 [queried_object_id] => 0 [request] => SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'aya-bi-aya' AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date DESC LIMIT 0, 10 

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

Solutions Collecting From Web of "Single.php различное поведение от admin до non-admin"

За комментарий проблема возникла из-за использования query_posts который захватывает основной запрос.

Пожалуйста, не используйте query_posts .

Следует отметить, что использование этого для замены основного запроса на странице может увеличить время загрузки страницы , в худшем случае более чем удваивает объем требуемой работы или больше . Хотя она проста в использовании, функция также подвержена путанице и проблемам позже. Дополнительную информацию см. В примечании ниже.

http://codex.wordpress.org/Function_Reference/query_posts (акцент мой)

Кроме того, он перезаписывает $wp_query который использует основной Loop на странице.

Если вам нужны дополнительные циклы, используйте новый объект WP_Query , а не query_posts .