add_user_meta () vs update_user_meta ()

10

Eu estou olhando para a documentação para add_user_meta()vs update_user_meta().

Se a meta_key atual não existir para um usuário, update_user_meta()a meta_key será adicionada automaticamente para esse usuário ou você precisará definir a meta_key add_user_meta()primeiro?

Tim Plummer
fonte
3
O que não está claro nos documentos? "Se o meta campo do usuário não existir, ele será adicionado."
precisa saber é o seguinte
Negligenciou isso. Eu estava tendo problemas com as metas não sendo adicionadas e não sabia se add_user_meta()precisava ser definido primeiro.
Tim Plummer
11
Então, resolvido então?
precisa saber é o seguinte
Esta parte, sim - obrigado. Ainda tem de depurar ...: /
Tim Plummer

Respostas:

15

Você já descobriu que, update_user_meta()se o campo meta do usuário não existir, ele será adicionado. ou seja, update_user_meta()pode fazer a tarefa deadd_user_meta()

No entanto, a diferença entre eles é a return values

update_user_meta ()

retorna False se nenhuma alteração foi feita (se o novo valor for igual ao valor anterior) ou se a atualização falhar, umeta_id se o valor for diferente e a atualização for bem-sucedida.

NOTA: a partir da v3.4.2, retorna umeta_id em caso de sucesso (em vez de verdadeiro) e falso em caso de falha


add_user_meta ()

retornar ID da chave primária para obter sucesso . Nenhum valor (em branco) para falha. ID da chave primária para obter sucesso.

Dipesh KC
fonte
Quero acrescentar que o add_user_meta não pode atualizar o user_meta existente se o sinalizador exclusivo passado for definido como true.
precisa
1

Obrigado pela sua explicação, vou adicionar à sua update_user_meta()também retornar true se uma atualização bem-sucedida aconteceu.

Resumindo - retorna o Meta ID se a chave não existir, verdadeira na atualização bem-sucedida, falsa na falha.

MAK
fonte