X

Como Exigir uma Imagem Destacada Antes de Publicar um Post

Snippets por IsItWP

Você está procurando uma maneira de exigir uma imagem destacada antes de poder publicar uma postagem? Este trecho exigirá que você tenha adicionado uma imagem destacada antes que sua postagem possa ser publicada. Se você tentar publicar uma postagem sem uma imagem destacada após adicionar este trecho, você receberá esta mensagem: “Você deve selecionar Imagem Destacada. Sua Postagem é salva, mas não pode ser publicada.”

Instruções:

Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou em um plugin específico do site:

add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');

function wpds_check_thumbnail($post_id) {

    // change to any custom post type 
    if(get_post_type($post_id) != 'post')
        return;
    
    if ( !has_post_thumbnail( $post_id ) ) {
        // set a transient to show the users an admin message
        set_transient( "has_post_thumbnail", "no" );
        // unhook this function so it doesn't loop infinitely
        remove_action('save_post', 'wpds_check_thumbnail');
        // update the post set it to draft
        wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));

        add_action('save_post', 'wpds_check_thumbnail');
    } else {
        delete_transient( "has_post_thumbnail" );
    }
}

function wpds_thumbnail_error()
{
    // check if the transient is set, and display the error message
    if ( get_transient( "has_post_thumbnail" ) == "no" ) {
        echo "<div id='message' class='error'><p><strong>You must select Featured Image. Your Post is saved but it can not be published.</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    }

}

Observação: Se esta é a primeira vez que você adiciona snippets de código no WordPress, consulte nosso guia sobre como copiar / colar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste trecho de código, considere conferir nossos outros artigos no site como: 7 Melhores Plugins de Galeria WordPress Comparados.

Comentários   Deixe uma Resposta

  1. Oi! Funciona para a imagem destacada do Woocommerce?

  2. podemos fazer também para o título da postagem

    1. Você pode verificar se o título foi adicionado usando a função get_the_title().

  3. Isso está criando muitos rascunhos automáticos indesejados no sistema

    1. Oi Visal,
      Por que está criando rascunhos automáticos?
      Você resolveu este problema?
      Atenciosamente

  4. Obrigado

  5. Olá Kevin. Estou criando um plugin de funções personalizadas onde adicionei este trecho e parece funcionar bem até que eu vá excluir um rascunho/postagem. Não consigo excluir, pois ele apenas me dá a mensagem “Você deve selecionar uma Imagem Destacada. Sua Postagem é salva, mas não pode ser publicada.” Tenho que remover o código para conseguir excluir uma postagem.

    1. Coloquei o código da função (wpds_check_thumbnail) dentro de:

      if ( ‘trash’ != get_post_status( $post_id ) ) { //Código aqui }

  6. Ótimo! Isso é bastante útil para mim no momento. Isso é ajustável para funcionar apenas em um determinado tipo de postagem ou categoria?

Adicionar um Comentário

Ficamos felizes que você escolheu deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!