<?php
/**
* Plugin Name: Post Webhook Sender
* Description: Envia informações de postagens para um webhook quando um post é publicado.
* Version: 1.0
* Author: Seu Nome
*/
if (!defined(‘ABSPATH’)) {
exit; // Exit if accessed directly
}
function send_post_to_webhook($post_ID) {
// Log para verificar se a função está sendo chamada
error_log(‘Função send_post_to_webhook chamada para o post ID: ‘ . $post_ID);
// Obtém o post
$post = get_post($post_ID);
// Obtém as informações básicas do post
$data = [
‘Titulo’ => get_the_title($post_ID),
‘Conteudo’ => apply_filters(‘the_content’, $post->post_content),
‘SubTitulo’ => get_post_meta($post_ID, ‘subtitulo’, true), // Campo personalizado “SubTítulo”
‘Categoria’ => wp_get_post_categories($post_ID, [‘fields’ => ‘names’]),
‘URL’ => get_permalink($post_ID),
‘tipodearquivo’ => ‘image’
];
// Obtém a imagem de destaque
if (has_post_thumbnail($post_ID)) {
$thumbnail_id = get_post_thumbnail_id($post_ID);
$thumbnail_url = wp_get_attachment_url($thumbnail_id);
$data[‘arquivo’] = $thumbnail_url;
} else {
$data[‘arquivo’] = ”; // Se não tiver imagem de destaque
}
// Log para verificar os dados que estão sendo enviados
error_log(‘Dados a serem enviados: ‘ . print_r($data, true));
// URL do Webhook
$webhook_url = ‘https://appn8n.clubemuquirana.com.br/webhook-test/PostMochila’;
// Configura a requisição para enviar o JSON
$args = [
‘body’ => json_encode($data),
‘headers’ => [‘Content-Type’ => ‘application/json’],
‘method’ => ‘POST’,
‘data_format’ => ‘body’,
];
// Envia a requisição
$response = wp_remote_post($webhook_url, $args);
// Verifica a resposta
if (is_wp_error($response)) {
error_log(‘Erro ao enviar dados para o webhook: ‘ . $response->get_error_message());
} else {
error_log(‘Dados enviados com sucesso para o webhook. Resposta: ‘ . print_r($response, true));
}
}
// Usando o hook ‘save_post’ para capturar publicações e atualizações de posts
add_action(‘save_post’, ‘send_post_to_webhook’);