Constantemente me encuentro con la misma molestia, así que pensé en ver si hay alguna idea o experiencia por ahí ...
He creado un complemento que usa su propia página de administración. Tiene que. Ahora que resolví las cosas WP_List_Table (), debo decir que es genial ... pero ...
Las páginas de complementos personalizados siempre se cargan como a admin.php?page=...
menos que quiera cargarlas directamente desde el directorio de complementos, lo cual no hago. Ahora, si hago una 'acción' desde esa página, necesito procesarla de alguna manera y luego redirigirla nuevamente a la página sin el parámetro de acción. No importa si hago GET o POST, de verdad.
En todas sus páginas internas, WP hace esto en la misma página, comprueba si hay una acción, si es así, la procesa y luego la redirige a sí misma sin la acción. Esto es posible porque admin-header
todavía no se ha cargado en estas páginas .
Sin embargo, si intenta hacerlo en su propia página, la mitad de la interfaz de administración ya se ha enviado al navegador, por lo que ya no es posible una redirección. Claramente, la solución es POST / GET directamente a otra página, cargar el marco WP en eso, hacer el procesamiento y luego redirigir de nuevo a la página original ... pero ... eso es un poco molesto, porque ... mi original La página se carga a través de una devolución de llamada, por lo que se ejecuta dentro de un método de mi clase. Eso es hermoso.
Si cargo una página separada, tengo que incluir manualmente wp-load.php
y estoy fuera de mi clase, lo cual es molesto, y en mi caso particular me molesta especialmente, porque solo estoy instanciando mi clase de complemento de forma anónima para que nadie pueda acceder a ella. desde fuera.
Entonces, después de esta larga historia ... ¿alguien encontró una buena solución para cargar otra página a través de una devolución de llamada sin tener toda la interfaz de administración configurada a su alrededor?
(Conozco una solución alternativa ... puedo conectar una función load-....
que verifica el parámetro de acción y procesa y redirige. Pero me pregunto si hay una mejor manera).
Gracias.
plugin-wp-pagenavi
sirve ... estaba asumiendo que era por cosas relacionadas con la correlación entre los complementos y el menú de administración. Como mi pregunta está relacionada con eso, seleccioné esa etiqueta.
[admin-menu]
aquí, pero no creo que esté realmente relacionado con eso. Cambié las etiquetas a lo que creo que le queda, por supuesto, puede editarlo nuevamente.
[plugin-wp-pagenavi]
?[plugin-development]
es ciertamente bienvenido aquí.