Obtener valores por defecto desde el contexto

This page is also available in English.

El valor por defecto de un campo de entrada generalmente se obtiene de la opción de valor de la etiqueta de formulario. Sin embargo, es posible obtener los valores por defecto del contexto en el que se coloca el formulario.

Para hacer esto, añade la opción default:{fuente} a la etiqueta de formulario de la que desea derivar el valor por defecto. Las fuentes de datos disponibles son: get (variables HTTP GET), post (variables HTTP POST) y post_meta (campos personalizados). La información del usuario que ha accedido también está disponible.

Por ejemplo, supongamos que tienes un campo con el nombre «tu-nombre»:

[text* tu-nombre]

Para obtener el valor por defecto de las variables HTTP GET, añade la opción default:get a la etiqueta de formulario:

[text* tu-nombre default:get]

El campo obtendrá su valor por defecto de la variable GET con el mismo nombre («tu-nombre»). Prueba esto accediendo a la URL de la página del formulario con una cadena de consulta adicional:

https://ejemplo.com/contacto/?tu-nombre=Juan+Perez

Si funciona correctamente, deberías ver «Juan Perez» en el campo.

Usando la misma lógica, el valor de un campo personalizado se usa como valor por defecto del campo si tienes la opción default:post_meta en la etiqueta del formulario y la página que contiene el formulario tiene un campo personalizado llamado «tu-nombre».

Pero, ¿qué pasa si tienes dos o más opciones por defecto en una sola etiqueta de formulario? Consideremos el caso de esta etiqueta de formulario:

[text* tu-nombre default:get default:post_meta "Tu nombre"]

Este formulario tiene dos opciones por defecto y el valor «Tu nombre». Las opciones se evalúan desde la primera hasta la última. En este ejemplo, default:get se evalúa primero. Si la variable GET «tu-nombre» tiene un valor, se usará como valor por defecto. Si ese valor está vacío, se evaluará default:post_meta a continuación. Si ambas opciones no tienen valores, se usará «Tu nombre».

Just another contact form plugin for WordPress. Simple but flexible.