WordPress автоматически генерируется проблема с миниатюрами - PullRequest
1 голос
/ 21 августа 2009

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

---- 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 ]

2 голосов
/ 21 августа 2009

В ответ на ваше редактирование. Вы хотите убедиться, что вы сбрасываете $ 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 голосов
/ 21 августа 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...