2010-07-14 33 views
2

我在的functions.php下面的代碼:的WordPress:獲取附件,而不是拇指後

function get_images($size = 'thumbnail') { 

global $post; 
return get_children(array('post_parent' => get_the_ID(), 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID')); 

} 

在我single.php中

<?php $photos = get_images('full'); ?> 

      <?php $x = 0; ?> 
      <?php foreach($photos as $photo): ?> 
       <?php if($x < 1): ?> 
        <img src="<?=wp_get_attachment_url($photo->ID)?>" alt="fullImg" /> 
       <?php endif; ?> 
       <?php $x++; 
       ?> 
      <?php endforeach; ?> 

我想在那裏只顯示一個圖像,但它顯示我也後拇指圖像,我不想要,有沒有一個選項可以排除?

回答

7

這是一些瘋狂的編碼!在你的函數中接受一個大小是毫無意義的,因爲它只返回一個post對象數組。

一旦你得到了你的帖子,然後使用適當的附件函數來獲取你所追加的附件大小的信息。

我會建議一個這樣的功能,而不是;

function get_images($overrides = '', $exclude_thumbnail = false) 
{ 
    return get_posts(wp_parse_args($overrides, array(
     'numberposts' => -1, 
     'post_parent' => get_the_ID(), 
     'post_type' => 'attachment', 
     'post_mime_type' => 'image', 
     'order' => 'ASC', 
     'exclude' => $exclude_thumbnail ? array(get_post_thumbnail_id()) : array(), 
     'orderby' => 'menu_order ID' 
    ))); 
} 

並付諸實踐;

<?php if ($photo = get_images('numberposts=1', true)): ?> 

    <img src="<?php echo wp_get_attachment_url($photo[0]->ID); ?>" alt="fullimg" /> 

<?php endif; ?> 

更新:錯誤的功能 - 修正。

相關問題