2009-08-21 35 views
1

我有以下代碼從我用來顯示在存檔頁面的帖子中拉出自動生成的縮略圖圖像。該代碼在我的本地服務器上正常工作,但只要我將它上傳到網絡,它就無法工作。WordPress自動生成的縮略圖問題

----編輯-----

什麼它現在顯示是每一個崗位相同的縮略圖,一個鏈接到的第一篇文章進入。任何想法,爲什麼這可能是?

<ul> 

<?php query_posts('cat='.get_query_var('cat').'&order=ASC'); ?> 

    <?php if (have_posts()) : ?> 

     <?php while (have_posts()) : the_post(); ?> 

     <?php 
//Get images attached to the post 

$args = array(
    'post_type' => 'attachment', 
    'post_mime_type' => 'image', 
    'numberposts' => -1, 
     'order' => 'DESC', 
    'post_status' => null, 
    'post_parent' => $post->ID 
); 
$attachments = get_posts($args); 
if ($attachments) { 
    foreach ($attachments as $attachment) { 
     $img = wp_get_attachment_thumb_url($attachment->ID); 
       break; 
     } 
} 
?> 

      <li> 
       <img src="<?php echo $img; ?>" alt="" /> 
       <h2 class="small"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> 
      </li>     

     <?php endwhile; ?> 

     <?php endif;?> 

     </ul> 

回答

2

迴應您的編輯。你需要確保在每次迭代while()循環後重置$ img。然後,您需要在寫入圖像標籤之前進行檢查以確定其設置。這將停止重複相同的縮略圖。示例代碼如下。

現在它重複着,因爲它爲第一篇文章找到了一張圖片,而對其他人卻沒有。但是在第一篇文章中設置了$ img,所以它繼續用於所有其他文件,因爲它永遠不會被重置或更改。

<ul> 

<?php query_posts('cat='.get_query_var('cat').'&order=ASC'); ?> 

    <?php if (have_posts()) : ?> 

     <?php while (have_posts()) : the_post(); ?> 

     <?php 
//Get images attached to the post 
$img = false; 
$args = array(
    'post_type' => 'attachment', 
    'post_mime_type' => 'image', 
    'numberposts' => -1, 
     'order' => 'DESC', 
    'post_status' => null, 
    'post_parent' => $post->ID 
); 
$attachments = get_posts($args); 
if ($attachments) { 
    foreach ($attachments as $attachment) { 
     $img = wp_get_attachment_thumb_url($attachment->ID); 
       break; 
     } 
} 
?> 

      <li> 
       <?php if ($img): ?><img src="<?php echo $img; ?>" alt="" /><?php endif; ?> 
       <h2 class="small"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> 
      </li>     

     <?php endwhile; ?> 

     <?php endif;?> 

     </ul> 
+0

不幸,這也沒有工作 - 雖然它非常有意義,應該工作。 hmmmm ............ – DanC 2009-08-21 14:16:08

0

也許它缺少服務器上的GD庫?你檢查過phpinfo()來驗證嗎?

+0

它運行起來,快速檢查後 – DanC 2009-08-21 13:21:59