Formulário personalizado, shortcode e manipulador de envio

4

Eu tenho um formulário de interface com um monte de entrada. Meus requisitos me forçam a usar um código de acesso personalizado para criar o formulário. Eu já testei uma página com esse shortcode.

Aqui está o meu:

<form name="myform" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>" enctype="multipart/form-data">

Com base nisso, ele deve abrir a mesma página (e funcionou). No entanto, quando eu clico em enviar, recebo 404 nesse mesmo URL. Existe alguma solução?

UPDATE # 1

Eu tento uma rota diferente, usando add_action ('init'):

add_action('init', 'mbro1_intercept_form_input');
function mbro1_intercept_form_input()
{
    if( !(isset($_POST['action_code']) && $_POST['action_code'] == 'mbro_intercept_form_input') )
        return "";
    if( isset( $_POST['submit'] ) )
    {
        //do my code here
        wp_redirect( get_permalink(35) );//page that has [shortcode]
    }
}

Esta ação é executada com sucesso no envio. Mas! após o redirecionamento, ainda tem 404. Eu não sei o que está errado.

    
por ariefbayu 28.04.2011 / 01:19

3 respostas

0

Eu tomo die() como solução. Embora eu não prefira isso.

$redirect_link =  get_permalink(35) ; //page that has form
$script_redirect = "<div>Your form is submitted. Please wait a moment. If your browser didn't redirect, click <a href='$redirect_link'>here</a>.</div>
<script type='text/javasript' language='javascript'> 
    window.location = '$redirect_link';
</script> ";
die( $script_redirect );
    
por ariefbayu 02.05.2011 / 00:52
0

Seu formulário tem uma entrada com o nome "name"? Por exemplo:

<input type="text" name="name">

Se sim, isso causará problemas. Altere o valor do nome.

Veja também: Formulário 'name' quebra e vai para a página 404 .

    
por Geert 28.04.2011 / 08:05
0

Estou assumindo que a linha perto do final

wp_redirect( get_permalink(35) );//page that has form

é o que está falhando. Eu mudaria isso para isso

$redirect_link =  get_permalink(35) ; //page that has form
wp_redirect( $redirect_link );  // trigger redirect
exit;

que deve fazer com que funcione corretamente

    
por Norcross 01.05.2011 / 19:36