Suporte » Plugins » Fazer plugin para pegar submit de formulario

  • Resolvido marciusleandro

    (@marciusleandro)


    Estou fazendo um plugin para gerar formulários. Já consegui fazer a parte que com shortcodes ele gera meu formulário, segue o código:

    function mf_container($atts, $content = null) {
    $content = do_shortcode($content);
    $content = str_replace("<br />","",$content);
    $content = str_replace("<p>","",$content);
    $content = str_replace("</p>","",$content);
    return
    "<form action='".plugin_dir_url( __FILE__ )."mult-form-submit.php' method='POST'>" . $content . "</form>";
    }
    
    add_shortcode('mult_form','mf_container');

    esse formulário gerado quando clico em submit ele vai para a rota certinho. E depois dai não consigo mais fazer nada…

    O que quero fazer nesse mult-form-submit.php é pegar os dados do form isso ta ok, e pegar meu usuário current e então submeter os dados no meu banco.

    Até agora fiz alguns testes, com o seguinte código:

    <?php if ( ! defined( 'ABSPATH' ) ) die("Not permited");
    
    global $wpdb, $current_user;
    
    $current_user = wp_get_current_user();
    
    if ( !($current_user instanceof WP_User) )
    	die("Não é usuario do wordpress");
    
    print_r($current_user);

    Porem ele sai logo no primeiro if. Como posso fazer isso?

    Desculpa galera se o que estou perguntando é muito absurdo, estou começando a desenvolver no wordpress e não sei muito bem como pesquisar as coisas e até por onde começar, dei uma boa olhada em outros plugins e no proprio codex, mas não encontrei nada que me ajudasse.

Visualizando 1 resposta (de um total de 1)
  • Criador do tópico marciusleandro

    (@marciusleandro)

    Consegui encontre uma referencia que deu uma luz e depois de muitas tentativa encontrei como fazer. Essa foi a referencia: link

    Estou usando uma estrutura de plugin gerada pelo WORDPRESS PLUGIN BOILERPLATE GENERATOR

    Nele você deve colocar o que iniciado na visão publica dentro da função: define_public_hooks() . Nessa função eu tinha um trecho que verificava se estava habilitado a opção para usar meu plugin:

    /** Set build form by shorcodes*/
    if($this->get_option('mult_form')){
       $this->loader->add_action('init', $plugin_public, 'mult_form');
    }

    esse trecho me redireciona para um função de uma classe que controla todas as minhas ações publicas:

    public function mult_form(){
        if(isset ( $_REQUEST['action']) and $_REQUEST['action'] == 'mult_form_submited'){
            $this->mult_form_submit();
        }
        $this->mult_form_shortcode();
    }

    nele eu chamo duas funções privadas, onde faço alguns tratamentos, que não irei mostrar o código, e se tudo der certo, faço um include_once( 'partials/my_file.php' );, cadas uma chama um arquivo diferente é claro, sendo a primeira onde faço todos os tratamentos para gerar o shortcode, e a segunda onde irei colocar todos os tratamentos de submissão do meu formulário.

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Fazer plugin para pegar submit de formulario’ está fechado para novas respostas.