Hook save_post — Processar dados ao salvar um post

Time Full Services Time Full Services
Tipo Hooks de ação
Nome do erro Hook save_post — Processar dados ao salvar um post
Severidade Atenção
Desde WordPress 1.5
Descrição Disparado toda vez que um post é salvo ou atualizado no WordPress, incluindo revisões e auto-saves.

Causa

Plugins e temas frequentemente precisam executar lógica extra ao salvar posts, como sincronizar dados com APIs externas ou salvar campos personalizados.

Como resolver

Sempre verifique autosave, revisão e nonce antes de processar. Use save_post_{post_type} para limitar a ação a um tipo específico de post.

PHP
<?php
add_action('save_post_produto', function (int $post_id, WP_Post $post): void {
    // Ignora autosave
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;

    // Ignora revisões
    if (wp_is_post_revision($post_id)) return;

    // Verifica nonce
    if (!isset($_POST['_meu_nonce']) || !wp_verify_nonce($_POST['_meu_nonce'], 'salvar_produto_' . $post_id)) return;

    // Verifica permissão
    if (!current_user_can('edit_post', $post_id)) return;

    // Sanitiza e salva o campo
    $preco = filter_input(INPUT_POST, '_preco', FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
    if ($preco !== null) {
        update_post_meta($post_id, '_preco', (float) $preco);
    }
}, 10, 2);

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →