Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro ao salvar no banco de dados

Fatal error: Uncaught ArgumentCountError: Too few arguments to function update_post_meta(), 2 passed in C:\xampp\htdocs\wordpress\wp-content\themes\imobiliaria\functions.php on line 160 and at least 3 expected in C:\xampp\htdocs\wordpress\wp-includes\post.php:2143 Stack trace: #0 C:\xampp\htdocs\wordpress\wp-content\themes\imobiliaria\functions.php(160): update_post_meta('preco_id', '') #1 C:\xampp\htdocs\wordpress\wp-includes\class-wp-hook.php(289): atualiza_meta_info(45) #2 C:\xampp\htdocs\wordpress\wp-includes\class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array) #3 C:\xampp\htdocs\wordpress\wp-includes\plugin.php(478): WP_Hook->do_action(Array) #4 C:\xampp\htdocs\wordpress\wp-includes\post.php(4153): do_action('save_post', 45, Object(WP_Post), true) #5 C:\xampp\htdocs\wordpress\wp-includes\post.php(4244): wp_insert_post(Array, false) #6 C:\xampp\htdocs\wordpress\wp-admin\includes\post.php(409): wp_update_post(Array) #7 C:\xampp\htdocs\wordpress\wp-admin\post.php(227): edit_post() #8 {main} thrown in C:\xampp\htdocs\wordpress\wp-includes\post.php on line 2143

Segue o código da vídeo aula abaixo:

function atualiza_meta_info(){
    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('quartos_id', $_POST['quartos_id']);
    }
}
add_action('save_post', 'atualiza_meta_info');

Em algumas respostas falaram que é por falta do id do post, mas na video aula o instrutor digita esse código e funciona.

e quando tento usar o mesmo código me deparo com erro informado acima.

1 resposta
solução!

Oi, Rafael, tudo bem?

Mas você chegou a testar informando o id dentro da função update_post_meta()? Segundo a documentação, passar o $post_id dentro da função update_post_meta() se tornou obrigatório, talvez, na versão em que o curso foi gravado não fosse.