Contact Form 7 es un plugin estupendo para añadir formularios a tu sitio web, pero estos formularios contienen campos estáticos y existen ocasiones en las que necesitamos añadir campos con valores dinámicos como el ID del post en el que nos encontramos o variables PHP GET y POST.

Esta tarea es muy sencilla instalando el plugin Contact Form 7 Dynamic Text Extension

Este plugin añade dos tipos de campo adicionales a Contact Form 7, estos campos son Dynamic Text field y Dynamic Hidden field, el valor dinámico para un campo específico se genera a través de un shortcode.

The plugin has it’s own shortcodes integrated, but you can create your own.
El plugin viene ya con algunos shortcodes predefinidos, pero puedes crear los tuyos propios.

Voy a poner un ejemplo muy sencillo:

Vamos a suponer que queremos añadir un campo oculto cuyo valor debe ser el ID del post en el que nos encontramos.
Si creamos nuestro propio shortocode tendría esta pinta:

function cf7_add_post_id(){
 
    global $post;
    return $post->ID;
}
 
add_shortcode('CF7_ADD_POST_ID', 'cf7_add_post_id');

Y el campo dinámico en la configuración de nuestro formulario sería:

[dynamictext my-filed-name "CF7_ADD_POST_ID"]

La otra manera de hacerlo es usando los shortocdes integrados en el propio plugin.
En este caso queremos obtener el ID del post actual así que únicamente habría que añadir el campo dinámico en la configuración del formulario:

[dynamictext my-filed-name "CF7_get_post_var key='ID'"]

El plugin viene con shortocodes para GET, POST, blog info, post info, current URL, custom fields, current user info, referrer URL. Tienes todos los detalles en la página de wordpress.org

Como añadir valores dinámicos a los campos de Contact Form 7
Etiquetado en:

3 pensamientos en “Como añadir valores dinámicos a los campos de Contact Form 7

  • septiembre 16, 2016 a las 12:01
    Enlace permanente

    Muy buenas,
    ¿Como sería para sacar el titulo en puesto de el ID creando un shortcode?
    Gracias.

    Responder
  • septiembre 21, 2016 a las 19:29
    Enlace permanente

    Hola, he creado un shorcode que coge datos de una tabla de la base de datos para rellenar el valor de un campo hidden, hasta ahí funciona bien, pero necesito que el shortcode coja también datos del formulario, por ejemplo el DNI que me han tecleado. ¿Como cojo los datos del formulario desde el shorcode?
    Puedes ayudarme please me estoy rayando con este código?

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *