Mostrar publicação de miniaturas sem ser uma imagem em destaque

Estou esperando que eu possa explicar o que eu vou por aqui. Na página principal do meu projeto atual, estou exibindo o Thumb em destaque de cada publicação, juntamente com um trecho do conteúdo da postagem. Em cada uma das páginas de postagem atuais, há uma galeria WP padrão com 2 a 4 imagens dentro.

O que eu quero fazer é fazê-lo para que meu cliente nem sempre precise usar uma Imagem em Destaque em cada publicação, de modo que a miniatura sempre apareça na página inicial. Em outras palavras, agora, ele precisa escolher uma imagem para ser exibida para que haja uma miniatura representativa para cada publicação no loop na página inicial.

Posso fazê-lo para que, mesmo que ele não escolha uma imagem em destaque para uma publicação, ainda há uma miniatura para representar a postagem? Posso fazê-lo automaticamente, basta escolher a primeira imagem na galeria da publicação, se nenhuma imagem em destaque for escolhida?

Apenas no caso, aqui está um pouco do que estou usando, código sábio:

<div id="post-" > <?php the_title('

', '

'); ?>
<?php wp_link_pages('before=

' . __('Pages:','example') . '&after=

'); ?>

Então, isso está no meu Arquivo de FUNÇÕES:

  // This theme uses post thumbnails add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 150, 100, true ); // Automatically makes featured image thumbs a clickable link add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 3 ); function my_post_image_html( $html, $post_id, $post_image_id ) { $html = '' . $html . ''; return $html; } // This theme displays full size featured image on the Post's page function InsertFeaturedImage($content) { global $post; $original_content = $content; if ( current_theme_supports( 'post-thumbnails' ) ) { if ((is_page()) || (is_single())) { $content = the_post_thumbnail('page-single'); $content .= $original_content; } } return $content; } add_filter( 'the_content', 'InsertFeaturedImage' ); 

http://dependablecarcompany.com é o endereço se você quiser ver o que estou falando. Você verá o que quero dizer ao olhar para o post intitulado: “1991 GMC Sierra”. Eu não usei uma imagem em destaque para a publicação, então não há nenhuma miniatura mostrada. Desde já, obrigado!

Solutions Collecting From Web of "Mostrar publicação de miniaturas sem ser uma imagem em destaque"

Não posso recomendar Obtenha o plugin da imagem (por Justin Tadlock) o suficiente. Está entre os melhores, um código muito bem conservado e limpo – mais importante, faz o que você precisa, enquanto lhe dá uma série de opções.

Como tira imagens?

  1. Procure por uma imagem por campo personalizado (um de sua escolha).

  2. Se nenhuma imagem for adicionada por um campo personalizado, verifique se há uma imagem usando o_post_thumbnail () (novo recurso de imagem do WP 2.9).

  3. Se nenhuma imagem for encontrada, ela agarra uma imagem anexada à sua postagem.

  4. Se nenhuma imagem estiver anexada, pode extrair uma imagem do conteúdo da postagem (desativada por padrão).

  5. Se nenhuma imagem for encontrada neste ponto, será padrão para uma imagem que você definiu (não definida por padrão).

Basta verificar a miniatura e, se não estiver configurado, use a primeira imagem da galeria. Algo assim:

 $size = 'thumbnail'; // whatever size you want if ( has_post_thumbnail() ) { the_post_thumbnail( $size ); } else { $attachments = get_children( array( 'post_parent' => get_the_ID(), 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID', 'numberposts' => 1) ); foreach ( $attachments as $thumb_id => $attachment ) { echo wp_get_attachment_image($thumb_id, $size); } } 

Basicamente, se nenhuma imagem em destaque existe, então has_post_thumbnail () retornará falso. Então, você chama get_children para obter as imagens em anexo para esta publicação. Note numberposts = 1, então ele só recebe o primeiro. Em seguida, você exibe essa imagem usando wp_get_attachment_image.

Note-se que usei o foreach mesmo que eu só consiga 1 imagem aqui. Isso ocorre porque get_children retorna uma série de postagens, independentemente de quantos posts está retornando. então eu estou “looping” através de uma matriz de tamanho 1. Se não houver imagens, a matriz estará vazia e, portanto, nada será emitido.

Se você não gosta de usar get_children, um novo WP_Query similar poderia ser construído para obter a primeira imagem de anexo de forma semelhante.

  • Adicionou a braçadeira curvada faltante ao loop foreach.