• Preciso de ajuda. Como colocar um formulário em um meta box e depois resgatar os valores digitados nesse formulario, para salvar no banco de dados e mostra-los no meu tema depois?

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • Dá uma olhada em add_meta_box.

    Qualquer dúvida é só avisar.

    Criador do tópico gustmeaus

    (@gustmeaus)

    Mas me explica ai por favor como que resgata os valores digitados! É com add_action save_post? Mas como fica o código? Vlw!

    Com a action save_post você vai informar uma função pra tratar os dados enviados pela metabox e salvar esses dados no banco, por exemplo, como post_meta. Resumindo:

    add_action( 'save_post', 'myplugin_save_postdata' );
    
    function myplugin_save_postdata( $post_id ) {
      $mydata = $_POST['myplugin_new_field'];
    
      update_post_meta( $post_id, 'mydata', $mydata );
    }

    Para recuperar o dado use o código abaixo dentro de um loop:

    $mydata = get_post_meta( $post->ID, 'mydata', true );

    No mais, evite ficar cadastrando tópicos repetidos, assim podemos concentrar os esforços em uma solução.

    Abraço.

    Criador do tópico gustmeaus

    (@gustmeaus)

    Aata, muito bom, funcionou muito muito bem. Mas e se eu quiser exibir isso no proprio metabox, tipo, quando for editar um post já existente, se exister essa meta ele exibe dentro do value? Tentei colocar <?php echo get_post_meta( $post->ID, ‘caracteristicas’, true ); ?> e <?php get_post_meta( $post->ID, ‘caracteristicas’, true ); ?> mas não deu muito certo. Mas mesmo assim, obrigado pela ajuda ai!

    Era pra funcionar com o <?php echo get_post_meta( $post->ID, ‘caracteristicas’, true ); ?>. Veja se a sua função de metabox possui o parâmetro $post, pois é desse objeto que vem o ID:

    function minha_funcao_metabox( $post ) {
      ...
      $post->ID;
      ...
    }
    Criador do tópico gustmeaus

    (@gustmeaus)

    Valeu pela ajuda cara! Era isso mesmo! Funcionou bem agora! Valeu!

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘Meta Box’ está fechado para novas respostas.