Problema con formulario y shortcode en WordPress

  • Autor Autor CosmicBetelgeuse
  • Fecha de inicio Fecha de inicio
C

CosmicBetelgeuse

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola!

Estoy creando un formulario en html, php…

Dicho formulario lo muestro mediante un SHORTCODE que añado en una página y recojo los valores mediante un HOOK (wp_head).
El HOOK me recoge perfectamente los valores del formulario pero el SHORTCODE no me detecta las variables que genero por el HOOK…

¿Como lo puedo hacer?

Gracias.
 
Hola!

Estoy creando un formulario en html, php…

Dicho formulario lo muestro mediante un SHORTCODE que añado en una página y recojo los valores mediante un HOOK (wp_head).
El HOOK me recoge perfectamente los valores del formulario pero el SHORTCODE no me detecta las variables que genero por el HOOK…

¿Como lo puedo hacer?

Gracias.
Hola,

Para que el SHORTCODE pueda detectar las variables generadas por el HOOK, una forma de hacerlo es almacenar esas variables en una variable global de WordPress para que estén disponibles en todo el sitio. Puedes utilizar la función add_action para vincular una función a un HOOK específico y así capturar los valores del formulario. Luego, al generar el shortcode, podrás acceder a esas variables globales y mostrar la información requerida.

Aquí te dejo un ejemplo básico de cómo podrías implementarlo:

En tu archivo functions.php:

PHP:
// Función para capturar los valores del formulario
function capturar_valores_formulario() {
    // Capturar los valores del formulario y almacenarlos en una variable global
    global $mis_variables_globales;
    $mis_variables_globales = $_POST['nombre_campo_formulario'];
}
add_action('wp_head', 'capturar_valores_formulario');

Luego, en tu archivo donde defines el SHORTCODE:

PHP:
// Función para mostrar el formulario
function mostrar_formulario_func( $atts ) {
    global $mis_variables_globales;
   
    // Aquí puedes acceder a las variables globales generadas por el HOOK
    return 'Los valores del formulario son: ' . $mis_variables_globales;
}
add_shortcode( 'mostrar_formulario', 'mostrar_formulario_func' );

De esta forma, al utilizar el SHORTCODE [mostrar_formulario] en tu página, debería mostrarte los valores del formulario que capturaste con el HOOK.

Espero que esta información te sea útil. ¡Déjame saber si tienes alguna otra pregunta!
 
Atrás
Arriba