3
respostas

Continuo recebendo essa mensagem de erro no update_post_meta().

Fatal error: Uncaught ArgumentCountError: Too few arguments to function update_post_meta(), 2 passed in C:\xampp\htdocs\wordpress\wp-content\themes\malura\functions.php on line 136 and at least 3 expected in C:\xampp\htdocs\wordpress\wp-includes\post.php:1799 Stack trace: #0 C:\xampp\htdocs\wordpress\wp-content\themes\malura\functions.php(136): update_post_meta('preco_id', '') #1 C:\xampp\htdocs\wordpress\wp-includes\class-wp-hook.php(288): salvar_meta_info_imoveis(74)

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');
3 respostas

Oi Marcio, tudo bem? Toda vez que precisar a função update_post_meta, você precisa informar o id do post, você só está informando na última vez.

tudo bem, eu entendi e adicionei nas outras linhas do update_post_meta o $post_id, a questão e nas vídeo aulas o instrutor, assim que completa a função ele executa e os dados vão para o banco de dados

function salvar_meta_info_imoveis() {

    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', 'salvar_meta_info_imoveis');

apenas com isso eu seria capaz de colocar o valor no input, salvar o post e no banco de dados iria aparecer la o id do input e o valor. Eu achei que fosse meu codigo que estava errado então eu copia a function da explicação e mesmo assim aparece aquele erro do update_post_meta faltando o post id.

também testei colocando o post id em todos os update_post_meta e funcionou, só que no banco de dados não aparece os id e valores, mesmo quando uso select para fazer a busca ele não aparece, fala que não existe.

Espera, deixa eu ver se entendi. Na transcrição o código está errado, sem informar o ID do post?

E no seu projeto, informando o ID do post, os dados do formulário não vão para o banco de dados?