Nesse post vou compartilhar um código PHP que permite monitorar as publicações do seu site WordPress e enviar esses dados via requisição HTTP para uma API ou Webhook externos assim que o post é publicado.
Segue código abaixo:
function enviar_webhook_quando_post_publicado($new_status, $old_status, $post) {
// Garante que estamos lidando com posts do tipo "post"
if ($post->post_type !== 'post') {
return;
}
// Verifica se o post está sendo publicado agora pela primeira vez
if ($old_status !== 'publish' && $new_status === 'publish') {
$webhook_url = 'https://seu-webhook.com/url-aqui';
$data = [
'id' => $post->ID,
'title' => $post->post_title,
'content' => $post->post_content,
'permalink' => get_permalink($post),
'date' => $post->post_date,
];
// Envia o POST para o webhook
wp_remote_post($webhook_url, [
'method' => 'POST',
'headers' => ['Content-Type' => 'application/json'],
'body' => wp_json_encode($data),
]);
}
}
add_action('transition_post_status', 'enviar_webhook_quando_post_publicado', 10, 3);