Как изменить только запрос WordPress для веб-интерфейса - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь изменить запрос ТОЛЬКО на внешнем интерфейсе сайта, чтобы выполнить некоторую сортировку, используя:

if (!is(admin)){
    add_filter('request','alter_query');
}

Это работает на внешнем интерфейсе очень хорошо, но при сохранении сообщений фильтр все еще применяется ине позволит сохранить запись. Похоже, что он все еще выполняет запрос. Как я могу остановить запуск фильтра в admin при сохранении?

Ошибка:

{"code": "rest_post_invalid_id", "message": "Неверный идентификатор сообщения. "," data ": {" status ": 404}}

Когда я закомментирую, бэкэнд фильтра работает нормально, но результаты во внешнем интерфейсе не такие, как хотелось бы.

1 Ответ

0 голосов
/ 07 ноября 2019

Вы должны использовать if( !is_admin() ) при изменении запросов внешнего интерфейса. Он определяет, является ли текущий запрос страницей административного интерфейса.

Кроме того, если вы изменяете основной запрос, вам также следует использовать is_main_query().

is_admin()

is_main_query ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...