2009-08-21 4 views
1

У меня есть следующий код, чтобы вытащить автомобиль миниатюру изображения с поста, который я использую для отображения на странице архива. Код работает нормально на моем локальном сервере, но как только я загрузил его в Интернет, он не работает.WordPress автогенерируемая миниатюр вопрос

---- EDIT -----

Что теперь отображает тот же эскиз для каждого поста, один связан с первого поста вошел. Есть идеи, почему это может быть?

<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

В ответ на ваши изменения. Вы захотите, чтобы вы сбросили $ img после каждой итерации цикла while(). Затем вы захотите сделать чек, чтобы убедиться, что он установлен перед написанием тега изображения. Это остановит повторение одного и того же эскиза. Пример кода ниже.

Прямо сейчас это повторять, потому что это найти образ для первого поста, но не для других. Но $ 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

, к сожалению, это тоже не получилось - хотя это имеет смысл, и должно работать. хммм ............ – DanC

0

Возможно, на сервере отсутствует библиотека GD? Вы проверили phpinfo(), чтобы проверить?

+0

это и работает, после быстрой проверки – DanC

Смежные вопросы