Ao mesmo tempo não, primeiro insere o termo e depois obtém o ID, não tem como obter ID de um termo que ainda não está lá.
Talvez possa usar ajax para o campo, só que ele vai inserir o termo mesmo que não crie o post, mas isso não chega a ser um problema, você pode fazer o campo pesquisar pelas cidades existentes para o campo Estado e listar isso para o usuário.
Também poderá gerar todas as cidades e evitar que o usuário as crie. Este parece ser o modo mais seguro. (Crie uma função que insere as cidades a partir de uma arquivo contendo a lista de cidades, dai só usar o wp_insert_term)
Olá Diana!
Obrigado pela resposta.
Então eu tenho a seguinte situação:
Tenho um posttype imoveis, nesse posttype eu tenho varios custom fields entre eles um que é para inserção de CEP.
Quando o cep é inserido um ajax faz uma consulta a um webserver para obter a rua, cidade, estado e preencher os respectivos campos.
Esses campos são salvos como postmeta, mas estou tendo muitos problemas para recuperar estes dados e filtra-los na query, então pensei em fazer como categoria.
Eu usei o wp_insert_term com um if e ele funciona, no caso de não haver o termo ele insere e no caso de ja existit seta o termo para o post.
No entanto eu não estou conseguindo fazer com que ele crie e sete em seguida.
Eu tenho uma função que está sendo executada para salvar os campos, usando o hook save_post, seria o caso de eu chama-la novamente?
Como eu poderia fazer essa inclusão por ajax? poderia me auxilar com uma ideia sobre isso? Eu colocaria esse gancho onde? Como eu poderia amarrar a execução do ajax?
Minha cabeça já está travada de tantas opções que testei sem sucesso.
Muito obrigado pela ajuda.