Oi José,
Já tem um tempo que postou, mas como estou fazendo esta aula agora, e passei pelo mesmo problema, resolvi
deixar aqui meu comentário.
Acontece que mais pra frente no vídeo, no código mostrado já aparecem os 3 parâmetros, inclusive o parâmetro $post_id na própria função.
Mas por algum motivo, esses trechos não foram mencionados no vídeo.
O código que funcionou aqui pra fazer a inserção no banco foi esse:
function salvar_meta_info_imoveis( $post_id ){
if(isset($_POST['preco_id'])){
update_post_meta($post_id, 'preco_id', $_POST['preco_id']);
}
if(isset($_POST['vagas_id'])){
update_post_meta($post_id, 'vagas_id', $_POST['vagas_id']);
}
if(isset($_POST['banheiros_id'])){
update_post_meta($post_id, 'banheiros_id', $_POST['banheiros_id']);
}
if(isset($_POST['quartos_id'])){
update_post_meta($post_id, 'quartos_id', $_POST['quartos_id']);
}
}
add_action('save_post', 'atualiza_meta_info'); //roda quando o POST for salvo/enviado
Então a maneira como é passada no vídeo, dizendo que o ID é o name dos inputs, me parece errada. O ID que deve ser passado é o ID do próprio post.
Na explicação escrita também está um pouco confuso, porque alguns update_post_meta() recebem 3 parâmetros, e outros recebem 2, gerando confusão. Está assim por lá:
function salvar_meta_info_imoveis( $post_id ) {
if( isset($_POST['preco_id']) ) {
update_post_meta('preco_id', $_POST['preco_id']);
}
if( isset($_POST['vagas_id']) ) {
update_post_meta('vagas_id', $_POST['vagas_id']);
}
if( isset($_POST['banheiros_id']) ) {
update_post_meta('banheiros_id', $_POST['banheiros_id']);
}
if( isset($_POST['quartos_id']) ) {
update_post_meta( $post_id, 'quartos_id', $_POST['quartos_id']);
}
}
add_action('save_post', 'salvar_meta_info_imoveis');
Repare que somente o último update tem o $post_id sendo passado.
Vamos ver se eles ajustam isso mais pra frente!
Abraço.
Thiago