Estou constantemente correndo para o mesmo aborrecimento, então pensei em ver se há alguma idéia ou experiência por aí ...
Eu criei um plugin que usa sua própria página de administrador. Tem que ser. Agora que resolvi o material WP_List_Table (), devo dizer que é ótimo ... mas ....
As páginas personalizadas do plug-in sempre carregam como, a admin.php?page=...
menos que eu queira carregá-las diretamente do diretório do plug-in, o que não acontece. Agora, se eu fizer uma 'ação' a partir dessa página, preciso processar isso de alguma forma e depois redirecionar de volta para a página sem o parâmetro action. Não importa se eu faço um GET ou POST, realmente.
Em todas as suas páginas internas, o WP faz isso na mesma página, verifica se há uma ação; nesse caso, processa-a e depois redireciona para si mesma sem a ação. Isso é possível, porque nessas páginas o arquivo admin-header
ainda não foi carregado.
Se você tentar fazer isso em sua própria página, metade da interface administrativa já foi enviada ao navegador, portanto, um redirecionamento não é mais possível. Claramente, a solução é POST / GET diretamente para outra página, carregar a estrutura WP, fazer o processamento e redirecionar de volta para a página original ... mas ... isso é um pouco chato, porque ... meu original A página é carregada por meio de um retorno de chamada, portanto, é executada dentro de um método da minha classe. Isso é bonito.
Se eu carregar uma página separada, tenho que incluir manualmente wp-load.php
e estar fora da minha classe, o que é irritante e, no meu caso particular, me incomoda especialmente, porque estou instanciando minha classe de plug-in anonimamente para que ninguém possa acessá-la. de fora.
Então, depois dessa longa história ... alguém encontrou uma boa solução para carregar outra página por meio de um retorno de chamada sem ter toda a interface administrativa já configurada?
(Eu sei de uma solução alternativa ... eu posso conectar uma função load-....
que verifica o parâmetro de ação e faz o processamento e o redirecionamento. Mas estou me perguntando se existe uma maneira melhor.)
Obrigado.
plugin-wp-pagenavi
é para ... eu estava assumindo que era para coisas relativas à correlação entre plugins e menu de administração. Como minha pergunta está relacionada a isso, eu selecionei essa tag.
[admin-menu]
aqui, mas não acho que esteja relacionado a isso. Mudei as tags para o que eu acho adequado, é claro que você pode editá-lo novamente.
[plugin-wp-pagenavi]
?[plugin-development]
é certamente bem-vindo aqui.