Desenvolvendo com WordPress pergunta do WordPress: Ação de gancho “transition_post_status” não funciona em Gutenberg e res

Um usuário perguntou 👇

Olá,

Quero enviar meu e-mail para o Telegram depois de criado. Eu sei transition_post_status não funciona para Gutenberg e eu li uma discussão aqui e a explorei esses códigos n7studio, mas não sei por que meu código não funciona. Rest_after_insert_post não é um incêndio ao postar post da API REST e Gutenberg? Será que estou usando corretamente?

add_action('rest_after_insert_post', 'send_posts_to_Telegram', 10, 3);

function send_posts_to_Telegram($post, $request, $creating = true){
//Send post to Telegram
}

(@bcworkz)

11 meses atrás

Eu me lembro dessa discussão. Como respondi, ambas as ações são gravadas no meu site. Talvez o problema esteja na parte enviada ao Telegram e não que a ação não ligue. Você pode verificar se a atividade é acionada usando error_log() em sua chamada de volta para registrar a mensagem. Crie uma nova postagem, verifique seu log de erros para ver se a mensagem foi registrada.

(@kghugo2000)

11 meses atrás

Obrigado pela ajuda. Usando error_log() encontrei a função acionada, mas funções como get_the_ID() retornam nulo aqui, então não consigo encontrar o que quero. Como posso usar essas funções ou passar valores como post id ou meta para essa função?

Muito obrigado por sua ajuda.

(@bcworkz)

11 meses atrás

Sim, get_the_ID() não funciona porque o $post global não é fixo. Para “rest_after_insert_post”, o objeto WP_Post postado recentemente é retornado ao seu retorno de chamada como o primeiro argumento, então o ID estaria em seu código $post->ID. Depois de ter o id, você pode obter um meta post da maneira normal com ele get_post_meta(). No entanto, se você inseriu um novo valor, ele pode não estar disponível no SS (condição de corrida) ainda. O novo valor alvo deve estar em $request ATÉ ONDE SEI.

(@kghugo2000)

11 meses atrás

Excelente! Eu finalmente usei $post->ID e descobri transition_post_status Ele também demitiu seu emprego em Gutenberg.

Lição aprendida: use error_log()

Obrigado!

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *