Estoy escribiendo un complemento de WordPress, que agrega una página de menú de administración. En la página hay un formulario. Cuando se envía el formulario, el complemento escribe en la base de datos. Pero luego me encuentro con un problema: cada vez que el usuario vuelve a cargar la página, se le pregunta si desea enviar el POSTDATA nuevamente. Si el usuario hace clic en sí, el complemento vuelve a escribir en la base de datos.
Después de buscar un poco, encontré una solución, el patrón “Post-Redirect-Get”. Luego, más tarde, descubrí que es difícil implementar este patrón en un complemento de WordPress.
-
El complemento en sí no puede enviar un HTTP 301/302 porque el núcleo de WordPress ya ha generado algunos contenidos.
-
Es posible insertar una metaetiqueta (para emitir una redirección) en el encabezado HTML. Pero de acuerdo con el W3C, la redirección meta está obsoleta, por lo que creo que es mejor no usarla.
-
Usa JavaScript
window.location
. Pero, ¿y si JavaScript está deshabilitado en el navegador del usuario?
¿Hay alguna otra forma de lograr la redirección?
+1 por preocuparse por Post-Redirect-Get… algo que el 90% de los problemas de los desarrolladores de wordpress probablemente nunca han escuchado.
– estúpido
13 de septiembre de 2010 a las 14:03