Meta Box
-
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?
-
Dá uma olhada em add_meta_box.
Qualquer dúvida é só avisar.
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.
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; ... }
Valeu pela ajuda cara! Era isso mesmo! Funcionou bem agora! Valeu!
- O tópico ‘Meta Box’ está fechado para novas respostas.