Я постійно стикаюся з тим самим роздратуванням, тому я подумав, що побачу, чи є там якісь ідеї чи досвід ...
Я створив плагін, який використовує власну сторінку адміністратора. Це повинно. Тепер, коли я розібрав речі WP_List_Table (), я повинен сказати, що це чудово ... але ....
Спеціальні сторінки плагінів завжди завантажуються так, як admin.php?page=...
тільки я не хочу завантажувати їх безпосередньо з каталогу плагінів, чого я не хочу. Тепер, якщо я роблю 'дію' на цій сторінці, мені потрібно якось обробити це, а потім переадресувати назад на сторінку без параметра дії. Неважливо, чи справді я GET чи POST, дійсно.
На всіх внутрішніх сторінках WP робить це на одній сторінці, він перевіряє, чи є дія, якщо це обробляє, а потім перенаправляє до себе без дії. Це можливо, оскільки на цих сторінках admin-header
ще не завантажено.
Якщо ви спробуєте це зробити на своїй власній сторінці, половина інтерфейсу адміністратора вже надіслана до браузера, тому перенаправлення вже неможливо. Зрозуміло, що рішення полягає в POST / GET безпосередньо на іншій сторінці, завантажте на неї рамки WP, виконайте обробку і перенаправлення назад на початкову сторінку ... але ... це трохи дратує, тому що ... мій оригінал сторінка завантажується за допомогою зворотного дзвінка, тому вона працює в методі мого класу. Це прекрасно.
Якщо я завантажую окрему сторінку, мені доведеться вручну включати wp-load.php
та знаходитись поза моїм класом, що дратує, і в моєму конкретному випадку особливо клопоче мене, тому що я створюю лише свій анонімно мій клас плагінів, щоб ніхто не мав доступу до нього ззовні.
Тож після цієї тривалої історії ... хтось придумав гарне рішення завантажити іншу сторінку за допомогою зворотного дзвінка, не маючи навколо себе весь інтерфейс адміністратора?
(Я знаю вирішення ... Я можу підключити функцію, load-....
яка перевіряє параметр дії та робить обробку та переадресацію. Але мені цікаво, чи є кращий спосіб.)
Спасибі.
plugin-wp-pagenavi
таке ... я припускав, що це стосується співвідношення плагінів і меню адміністратора. Оскільки моє запитання пов'язане з цим, я вибрав цей тег.
[admin-menu]
тут, але я не думаю, що це насправді пов'язане з цим. Я змінив теги на те, що, на мою думку, підходить, ви, звичайно, можете їх знову відредагувати.
[plugin-wp-pagenavi]
?[plugin-development]
тут, звичайно, вітаємо.