¿Sabías que podías crear
formularios de contacto con Jetpack? Este mes, descubriremos diferentes formas de personalizar estos formularios en tu sitio.
Cambia el mensaje de éxito tras el envío
¿Te gustaría agradecer a tus lectores después de que envíen un formulario en tu sitio? Quizá quieras hacerles saber que te pondrás en contacto con ellos pronto o confirmar que su dirección de correo electrónico se ha añadido a un sorteo.
El filtro
grunion_contact_form_success_message permite especificar un mensaje de éxito personalizado en cada uno de los formularios de tu sitio. En el ejemplo siguiente, he definido 2 mensajes de éxito personalizados:
- El primero solo se muestra en el formulario que aparece en la página con el ID 1471.
- El segundo aparece en todos los demás formularios y reemplaza el mensaje de éxito predeterminado de Jetpack.
function jetpackcom_contact_confirmation() {
if ( is_page( '1471' ) ) {
$conf = __( 'A special confirmation message for the form you added to page 1471', 'plugin-textdomain' );
} else {
$conf = __( 'A generic confirmation message to display for all the other forms', 'plugin-textdomain' );
}
return $conf;
}
add_filter( 'grunion_contact_form_success_message', 'jetpackcom_contact_confirmation' );
Redirige a los lectores a una página específica después del envío
Una opción mejor que un mensaje de éxito personalizado es redirigir a tus lectores a una página específica de tu sitio. En cuanto hagan clic en el botón de envío, se les puede redirigir a una página que elijas. Por ejemplo, se podría redirigir a los lectores a una página donde puedan reclamar un premio después de proporcionarte su información de contacto.
Para crear esa redirección, usaremos el filtro
grunion_contact_form_redirect_url. Este filtro nos permite establecer distintas URL de redirección para cada formulario de tu sitio.
/**
* Jetpack Contact Form Custom Redirections.
*
* @param string $redirect Post submission URL.
* @param int $id Contact Form ID.
* @param int $post_id Post ID.
*
* @return string $redirect Custom Post submission URL.
*/
function jetpackcom_custom_form_redirect( $redirect, $id, $post_id ) {
/**
* Create a list of pages where you've inserted forms.
* For each contact Form ID (found via the id attribute on the form),
* set up a custom URL where the user will be redirected.
*/
$redirects = array(
'1370' => home_url( 'page_on_your_site' ),
'2239' => home_url( 'another_page' ),
'1370' => home_url( 'page_on_your_site' ),
);
// Let's loop though each custom redirect.
foreach ( $redirects as $origin => $destination ) {
if ( $id == $origin ) {
return $destination;
}
}
// Default Redirect for all the other forms.
return $redirect;
}
add_filter( 'grunion_contact_form_redirect_url', 'jetpackcom_custom_form_redirect', 10, 3 );
Personaliza la etiqueta “Obligatorio”
De forma predeterminada, Jetpack mostrará el texto «Obligatorio» junto a los campos del formulario que tus lectores deben rellenar antes de poder enviar un formulario:

A veces, quizá quieras cambiar «Obligatorio» por otra cosa. Ahí es donde entra el filtro
jetpack_required_field_text:
function jetpackcom_custom_required() {
return __( 'This is important, you must fill it in.', 'plugin-textdomain' );
}
add_filter( 'jetpack_required_field_text', 'jetpackcom_custom_required' );
El módulo de formularios de contacto incluye más de 20 hooks adicionales, además de los mencionados anteriormente.
Consulta el código para obtener más información. También puedes visitar
nuestra página de soporte para descubrir algunas de las otras opciones disponibles para personalizar el formulario de contacto.
¿Quieres profundizar en Jetpack y descubrir otros hooks útiles que te ayuden a personalizar Jetpack? Asegúrate de seguir este blog y de descubrir un nuevo hook cada mes!