Endpoint Webhook PHP via API WordPress para Criar Post Personalizado (CPT) - Bruno Devx - BR Criativus

post #8009

Endpoint Webhook PHP via API WordPress para Criar Post Personalizado (CPT)

Publicado em: 05/05/2026 / Atualizado em: 05/05/2026

Categorias: BlogPHPWordpress

Segue código abaixo para receber dados via webhook/endpoint do WordPress e cadastrar um CPT (Custom post type):

add_action('rest_api_init', function () {
    register_rest_route('webhook/v1', '/NOME_DA_ROTA', [ // ALTERAR ROTA
        'methods'             => 'POST',
        'callback'            => 'NOME_DA_FUNCAO', // ALTERAR NOME DA FUNÇÃO
        'permission_callback' => '__return_true',
    ]);
});
// ALTERAR NOME DA FUNÇÃO
function NOME_DA_FUNCAO(WP_REST_Request $request) {
    $params   = $request->get_json_params() ?: $request->get_params();

  	// ALTERE OS DADOS QUE DESEJA CADASTRAR
    $nome     = sanitize_text_field($params['Nome'] ?? '');
    $cargo    = sanitize_text_field($params['Cargo'] ?? '');
    $mensagem = sanitize_textarea_field($params['Deixe_sua_mensagem'] ?? '');

  	// ALTERE A VALIDAÇÃO CASO NECESSÁRIO
    if (empty($nome) && empty($cargo)) {
        return ['success' => false, 'message' => 'Nome e cargo não enviados.'];
    }

    $post_id = wp_insert_post([
        'post_type'   => 'SLUG-DO-POST-TYPE', // ALTERAR SLUG DO CPT
        'post_title'  => "$nome / $cargo",
        'post_status' => 'publish',
        'meta_input'  => [ // ALTERE OS DADOS QUE DESEJA CADASTRAR
            'nome'     => $nome,
            'cargo'    => $cargo,
            'mensagem' => $mensagem,
        ],
    ]);

    return ['success' => true, 'post_id' => $post_id];
}

Publicações recomendadas:



Link Direto

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link direto abaixo. Basta copiar.

bruno.art.br/?p=8009

ID de Referência: 8009

Sugira uma publicação

Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.

Clique aqui e entre em contato