it-swarm.asia

Archive.php kategori listesinde post thumbnail küçük resim (ek) gösteriliyor

Her gönderiye ekli ilk görüntünün küçük resmini gösterecek şekilde kategorilerimin listesini (archive.php) özelleştirmek istiyorum.

Ancak, görünüşe göre, archive.php dosyası, doğal olarak ek nesnesini desteklemeyen dosyalardan biridir. Örneğin, aşağıdaki kod istediklerimin çoğunu yapacak (ek bulunmazsa boş bir resim alıyorum, düzeltmem gerekiyor).

Ancak, böyle bir döngüde bir SELECT seçeneğine sahip olmaktan korkuyorum, yapmaya çalıştığım şey için belki de çok pahalı.

Herhangi bir fikir?

    <?php while (have_posts()) : the_post(); ?>
    <?php global $wpdb; $attachment_id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_parent = '$post->ID' AND post_status = 'inherit' AND post_type='attachment' ORDER BY post_date DESC LIMIT 1"); ?>
        <div class="searchItem" style="clear:both;">
            <h3 id="post-<?php the_ID(); ?>"><img src="<?php echo wp_get_attachment_url($attachment_id); ?>" class="post-attachment" /><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
            <small><?php the_time('l, F jS, Y') ?></small>
            <div class="excerpt"><?php echo $post->post_excerpt; ?></div>
            <div class="postmetadata">Posted in <?php the_category(', ') ?> | <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></div>
        </div>
    <?php endwhile; ?>
1
Scott B

WordPress işlevini get_children kullanabilirsiniz. Performans açısından bir fark yarattığını düşünmeme rağmen.

<?php while (have_posts()) : the_post(); ?>
    <?php $attachment = array_values( get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'numberposts'  => 1 ) ) ); ?>
    <div class="searchItem" style="clear:both;">
        <h3 id="post-<?php the_ID(); ?>">
        <?php if( $attachment ) echo '<img src="' . wp_get_attachment_url($attachment[0]->ID) . '" class="post-attachment" />'; ?>
        <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
        <small><?php the_time('l, F jS, Y') ?></small>
        <div class="excerpt"><?php echo $post->post_excerpt; ?></div>
        <div class="postmetadata">Posted in <?php the_category(', ') ?> | <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></div>
    </div>
<?php endwhile; ?>
2
sorich87

WP bunu görüntülemek için çekirdek bir işleve sahiptir, yazıma bakın http://wpengineer.com/1735/easier-better-solutions-to-get-pictures-on-your-posts/

0
bueltge