X

Definir Automaticamente a Imagem Destacada

Snippets por IsItWP

Às vezes, você não tem uma imagem destacada para uma postagem e deseja que a primeira imagem do seu artigo seja usada automaticamente como imagem destacada.

Instruções: Adicione o seguinte código ao arquivo functions.php do seu tema WordPress para definir automaticamente a imagem destacada para suas postagens. Se você adicionar uma imagem destacada a uma postagem, ela substituirá este código e exibirá sua imagem destacada em vez disso.

function autoset_featured() {
    global $post;
    $already_has_thumb = has_post_thumbnail($post->ID);
        if (!$already_has_thumb)  {
        $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
            if ($attached_image) {
                foreach ($attached_image as $attachment_id => $attachment) {
                    set_post_thumbnail($post->ID, $attachment_id);
                }
            }
        }
}
add_action('the_post', 'autoset_featured');
add_action('save_post', 'autoset_featured');
add_action('draft_to_publish', 'autoset_featured');
add_action('new_to_publish', 'autoset_featured');
add_action('pending_to_publish', 'autoset_featured');
add_action('future_to_publish', 'autoset_featured');

Você também pode gostar de remover a caixa de meta da imagem destacada.

Comentários   Deixe uma resposta

  1. Uma pergunta, e se eu precisar excluir algumas páginas? o que eu poderia fazer… muito obrigado

  2. Por que funciona apenas ao carregar uma nova imagem e não ao escolher uma da biblioteca, mesmo que ela não seja usada em nenhuma outra postagem?

    1. Ele usa os anexos, que obterão a imagem com base na imagem estar atribuída ou anexada à postagem.

  3. Muito obrigado, isso está funcionando como um encanto <3

  4. Não sou familiarizado com php. Estou usando o tema astra. Após adicionar este código, uma imagem aleatória da postagem é definida como imagem destacada em vez da primeira imagem. Você pode corrigir isso?

  5. Então, primeiramente, obrigado por este trecho de código. Como fotógrafo, eu estava enfrentando um problema um pouco diferente, pois precisava que a página de anexo tivesse mais recursos. Após configurar a página de anexo para mostrar miniaturas, modifiquei seu código para definir automaticamente a miniatura da página de anexo como a imagem do anexo. Isso foi uma grande dor de cabeça, então aqui está o código para qualquer outra pessoa que possa estar procurando fazer a mesma coisa.

    function set_attachment_thumbnail() { global $post; if( get_post_type($post) === ‘attachment’) { $attachment_thumb = has_post_thumbnail($post->ID); if( !$attachment_thumb ) { set_post_thumbnail($post->ID, $post->ID ); } } } … o mesmo que acima com o nome da função alterado.

    Espero que isso ajude mais alguém. :)

    1. Obrigado por compartilhar seu trecho conosco, Chris 🙂

  6. Acabei de tentar aplicar este código – obrigado por compartilhar – mas descobri logo de cara que ele só encontra qualquer imagem cerca de 2/3 das vezes, e também não é confiavelmente a primeira imagem do post. Alguma ideia?

  7. Quando coloco o código no final do functions.php, ele mostra o código no topo do meu site em vez disso. Você sabe por quê ou como consertar?

    1. Provavelmente o código foi adicionado incorretamente. Acho que você deveria conferir nosso artigo sobre como adicionar snippets de código corretamente.

      Você também pode querer conferir solução de problemas de erros do WordPress e correção dos erros mais comuns do WordPress.

  8. Olá,
    funciona perfeitamente para posts do WordPress, mas não com tipos de post personalizados.
    Você tem alguma ideia para fazer funcionar em qualquer tipo de post personalizado?

    Atenciosamente
    Sebastian

  9. Olá

    Tentei este código no tema Elegantthemes Extra e não está funcionando!

Adicionar um comentário

Ficamos felizes que você tenha escolhido 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!