Mi imbatto costantemente nello stesso fastidio, quindi ho pensato di vedere se ci fossero idee o esperienze là fuori ...
Ho creato un plug-in che utilizza la propria pagina di amministrazione. Deve. Ora che ho risolto le cose di WP_List_Table (), devo dire che è fantastico ... ma ...
Le pagine del plug-in personalizzato vengono sempre caricate come admin.php?page=...
se non desidero caricarle direttamente dalla directory del plug-in, cosa che non accade. Ora, se eseguo un'azione da quella pagina, devo elaborarla in qualche modo e quindi reindirizzare alla pagina senza il parametro action. Non importa se faccio un GET o POST, davvero.
WP lo fa su tutte le sue pagine interne sulla stessa pagina, controlla se c'è un'azione, in tal caso la elabora e quindi reindirizza a se stessa senza l'azione. Questo è possibile, perché su queste pagine admin-header
non è stato ancora caricato.
Se provi a farlo sulla tua pagina, tuttavia, metà dell'interfaccia di amministrazione è già stata inviata al browser, quindi un reindirizzamento non è più possibile. Chiaramente, la soluzione è POST / GET direttamente su un'altra pagina, caricare il framework WP su quello, eseguire l'elaborazione e quindi reindirizzare alla pagina originale ... ma ... è un po 'fastidioso, perché ... il mio originale la pagina viene caricata tramite un callback, quindi viene eseguita con un metodo della mia classe. Questo è bello.
Se carico una pagina separata, devo includere manualmente wp-load.php
e sono al di fuori della mia classe, il che è fastidioso, e nel mio caso particolare mi dà un bug in particolare, perché sto solo istanziando la mia classe di plugin in modo anonimo in modo che nessuno possa accedervi da fuori.
Quindi, dopo questa lunga storia ... qualcuno ha trovato una buona soluzione per caricare un'altra pagina tramite un callback senza avere l'intera interfaccia di amministrazione già configurata attorno ad essa?
(Conosco una soluzione alternativa ... posso agganciare una funzione load-....
che controlla il parametro action ed esegue l'elaborazione e il reindirizzamento. Ma mi chiedo se c'è un modo migliore.)
Grazie.
plugin-wp-pagenavi
... stavo supponendo che fosse per cose riguardanti la correlazione tra plugin e menu di amministrazione. Poiché la mia domanda è correlata a ciò, ho selezionato quel tag.
[admin-menu]
qui, ma non credo sia davvero correlato a questo. Ho cambiato i tag in quello che ritengo adatto, ovviamente puoi modificarlo di nuovo.
[plugin-wp-pagenavi]
?[plugin-development]
è sicuramente il benvenuto qui.