Problema com formulário e shortcode no WordPress

  • Autor Autor CosmicBetelgeuse
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
C

CosmicBetelgeuse

Beta
Usuário com poucas negociações! Use sempre o saldo do 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.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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!
 
Voltar
Topo