Я постоянно сталкиваюсь с одним и тем же раздражением, поэтому я подумал, что посмотрю, есть ли какие-нибудь идеи или опыт там ...
Я создал плагин, который использует свою собственную страницу администратора. Он должен. Теперь, когда я разобрался с WP_List_Table (), я должен сказать, что это здорово ... но ....
Пользовательские страницы плагинов всегда загружаются, admin.php?page=...
если только я не хочу загружать их непосредственно из каталога плагинов, чего я не делаю. Теперь, если я выполняю «действие» на этой странице, мне нужно как-то обработать его, а затем перенаправить обратно на страницу без параметра действия. Неважно, если я делаю GET или POST, на самом деле.
На всех своих внутренних страницах WP делает это на одной и той же странице, проверяет, есть ли какое-либо действие, обрабатывает ли его и затем перенаправляет на себя без действия. Это возможно, потому что на этих страницах admin-header
еще не было загружено.
Однако если вы попытаетесь сделать это на своей странице, половина интерфейса администратора уже отправлена в браузер, поэтому перенаправление больше невозможно. Понятно, что решение состоит в том, чтобы POST / GET напрямую перейти на другую страницу, загрузить на нем платформу WP, выполнить обработку и затем перенаправить обратно на исходную страницу ... но ... это немного раздражает, потому что ... мой оригинал страница загружается с помощью обратного вызова, поэтому она запускается в методе моего класса. Это красиво.
Если я загружаю отдельную страницу, мне нужно вручную включить ее, wp-load.php
и я нахожусь за пределами моего класса, что раздражает, и в моем конкретном случае это меня особенно беспокоит, потому что я только создаю экземпляр своего класса плагина анонимно, чтобы никто не мог получить к нему доступ. снаружи.
Итак, после этой длинной истории ... кто-нибудь придумал хорошее решение для загрузки другой страницы с помощью обратного вызова, не настроив весь интерфейс администратора?
(Я знаю обходной путь ... я могу подключить функцию, load-....
которая проверяет параметр action, выполняет обработку и перенаправление. Но мне интересно, есть ли лучший способ.)
Спасибо.
plugin-wp-pagenavi
для ... я предполагал, что это было для вещей, касающихся корреляции между плагинами и меню администратора. Так как мой вопрос связан с этим, я выбрал этот тег.
[admin-menu]
здесь, но я не думаю, что это действительно связано с этим. Я изменил теги так, как мне кажется, он подходит, вы, конечно, можете снова его редактировать.
[plugin-wp-pagenavi]
?[plugin-development]
безусловно, приветствуется здесь.