• Olá pessoal, preciso de uma ajudinha com meu tema,
    é o seguinte, criei alguns formulários para adição de post-type via Frontend, funciona quase tudo como eu quero, a não ser pelo seguinte erro,
    em dois destes formulários quando clico no botão GRavar (Submit) ele executo o q tem de executar tudo certinho, mas me redireciona para a página de erro 404 (mesmo o link não mudando e estando certinho) alguém já passou por isso antes, sabem como posso resolver

    segue abaixo o código de um dos fomulário q estão dando erro:

    function novo_lancamento($content = null) {
    	global $post;
    	global $current_user;
    	$current_user = wp_get_current_user();
    	$user_info = get_userdata($current_user->ID);
    	$nivel = $user_info->user_level;
    	$c_user = get_user_meta($current_user->ID, 'congregacao', true);
    	ob_start();
    	?>
    	<div class="lancamentos" id="lancamentos">
        	<?php do_action( 'mostrar-aviso' ); ?>
        	<div class="campos"><?php
            if ((is_user_logged_in()) and (($nivel == 10) or ($nivel == 9) or ($nivel == 7) or ($nivel == 6) or($nivel == 4))) { ?>
            	<form id="dados-lancamento" class="edit-congregacao" name="dados-lancamento" method="post" action="<?php the_permalink(); ?>">
                	<?php wp_nonce_field('dados-congregacao');
    				$args = array(
    					'show_option_all'    => '',
    					'show_option_none'   => '',
    					'orderby'            => 'ID',
    					'order'              => 'ASC',
    					'show_count'         => 0,
    					'hide_empty'         => 0,
    					'child_of'           => 0,
    					'exclude'            => '',
    					'echo'               => 1,
    					'selected'           => 0,
    					'hierarchical'       => 1,
    					'name'               => 'plano-conta',
    					'id'                 => 'plano-conta',
    					'class'              => 'plano-conta',
    					'depth'              => 0,
    					'tab_index'          => 0,
    					'taxonomy'           => 'plano-conta',
    					'hide_if_empty'      => false,
    					'walker'             => 'slug'
    				);
    				?>
                    <fieldset>
                    <label for="data">Data</label>
                    <input id="data" name="data" type="text" value="<? echo date('d/m/y') ?>" size="15">
                    </fieldset>
                    <fieldset>
                	<label for="descricao">Descri&ccedil;&atilde;o</label>
                    <input id="descricao" name="descricao" type="text" value="" size="100">
                    </fieldset>
                    <fieldset>
                    <label for="vencimento">Dt. vencimento</label>
                    <input id="vencimento" name="vencimento" type="date" value="" size="100">
                    <label for="plano-conta">Plano de contas</label>
                    <?php wp_dropdown_categories($args); ?>
                    </fieldset>
                    <fieldset>
                    <label for="valor">Valor</label>
                    <input id="valor" name="valor" type="text" value="" size="20">
                    </fieldset>
    				<? if (($_GET['cong'] == all) or empty($_GET['cong']) or is_null($_GET['cong'])) {
                        ?><input type="hidden" id="congregacao" name="congregacao" value="<? echo $c_user; ?>"><?
                    } else {
                        ?><input type="hidden" id="congregacao" name="congregacao" value="<? echo $_GET['cong']; ?>"><?
                    };?>
                    <input id="tipoconta" name="tipoconta" value="<? echo $_GET['tipo']; ?>" type="hidden">
                    <input id="tipo" name="tipo" value="<? echo $_GET['lancar']; ?>" type="hidden">
                    <input id="limpar" class="enviar" type="submit" value="Gravar" style="float:right"/>
    	            <input type="hidden" name="action" value="post">
                    <div class="quebra"></div>
                </form>
                <div class="quebra"></div>
            <?php } else { ?>
    			<h4>Você n&atilde;o tem permiss&atilde;o para executar esta a&ccedil;&atilde;o!</h4>
                <div>Usuario: <? echo $c_user ?> </div>
            <?php }; ?>
            </div>
        </div><?php
        $output = ob_get_contents();
        ob_end_clean();
    
        if (is_page()) return  $output;
    }
    add_shortcode('novo-lancamento', 'novo_lancamento');

    abaixo o código para gravar o registro:

    if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'post' && (($_POST['tipo'] == 'futuros') or ($_POST['tipo'] == 'financeiro'))) {
            if ( !is_user_logged_in() )
                return;
            global $current_user;
    		$user_id        = $current_user->ID;
    		$data			= $_POST['data'];
    		$descricao		= $_POST['descricao'];
    		$vencimento		= $_POST['vencimento'];
    		$conta			= $_POST['plano-conta'];
    		$valor			= $_POST['valor'];
    		$tipoconta		= $_POST['tipoconta'];
    		$tipo			= $_POST['tipo'];
    		$congregacao	=$_POST['congregacao'];
    
            global $error_array;
            $error_array = array();
            if (empty($data)) $error_array[]='É obrigatório o preenchimento da data de lançamento.';
    		if (empty($descricao)) $error_array[]='É obrigatório o preenchimento da descrição da conta.';
    		if (empty($valor)) $error_array[]='É obrigatório o preenchimento do valor da conta.';
    		if (empty($tipoconta)) $error_array[]='Não foi possível identificar o tipo de lançamento, tente novamente em alguns instantes';
    		if (empty($tipo)) $error_array[]='Erro no lançamento da conta, uma variável obrigatória não foi definida, tente novamente em alguns instantes';
    		if (empty($congregacao)) $error_array[]='Não foi possivel identificar uma congregação para lançar a conta, verifique se seu perfil esta devidamente preenchido.';
    
            if (count($error_array) == 0){
    
                $pid = wp_insert_post( array(
                    'post_author'   => $user_id,
                    'post_title'    => $descricao,
                    'post_type'     => $tipo,
                    'post_status'   => 'publish'
                    ) );
    			add_post_meta($pid, 'wpcf-data-lacamento', $data, true);
    			add_post_meta($pid, 'wpcf-vencimento', $vencimento, true);
    			add_post_meta($pid, 'wpcf-tipo-lancamento', $tipoconta, true);
    			if ($tipoconta==1) { add_post_meta($pid, 'wpcf-vl-credito', $valor, true); }
    			else { add_post_meta($pid, 'wpcf-vl-debito', $valor, true); };
    			add_post_meta($pid, '_wpcf_belongs_congregacao_id', $congregacao, true);
    			wp_set_object_terms( $pid, intval($conta), 'plano-conta' );
    
                global $notice_array;
                $notice_array = array();
                $notice_array[] = "Novo membro adicionado!";
                add_action('mostrar-avisos', 'mostrar_avisos');
    
            } else {
                add_action('mostrar-avisos', 'mostrar_avisos');
            }
        }

    acho que é isso ai, lembrando q o fomulário é adicionado numa página através do ShortCode, desde já agradeço pela ajuda

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • Fabio, você não acha mais fácil criar os forms em arquivos separados e chamar no WP com um iframe e ter a liberdade de chamar javascripts e styles independentes?

    Abrços!

    Equipe de Suporte
    Hospedagem-Anual de Sites
    (Hospedagem Completa por apenas R$29,90/ano)

    Quando precisar de um novo provedor visite-nos!

    Criador do tópico fabioxo

    (@fabioxo)

    então, na verdade coloquei isso num plugin e o form eu chamo a partir de um shortcode, PRA MIM… rsrs ficou mais facila assim, de qualquer forma ante de mudar esta estrutura preciso primeiro resolver este problema (antes de arrumar outro… rsrs)
    de qualquer form obrigado pela dica

Visualizando 2 respostas - 1 até 2 (de um total de 2)

O tópico ‘AJUDA! erro 404 no retono de submit’ está fechado para novas respostas.