2017-01-24 2 views
1

У меня проблема с этим небольшим фрагментом. По сути, он захватывает одно сообщение в категории текущих выпусков и многократно отображает его вместо захвата и отображения первого. 3. Любые мысли? Я уверен, что его глупо пропустили "или что-тоwhile (have_posts()): the_post(); повторяя одно и то же сообщение снова и снова?

global $query_string; 

    query_posts(array(
    'showposts' => 3, 
    'cat' => 'current-releases' 
)); 

    echo '<div class="related-posts">'; 

    while (have_posts()) : the_post(); 
     echo '<div class="related-album">'.the_post_thumbnail('large'); 
     echo ' '.the_title(); 
     echo '</div>'; 
    endwhile; 

    echo '</div>'; 
+0

', если (х), а (х) ... ENDWHILE endif' полностью избыточными - вам нужно только' while'. – paxdiablo

+0

Я удалил оператор If вообще, и проблема все еще существует, но спасибо за очистку. –

+0

Брэндон, я очень мало знаю о PHP или Wordpress, я не ожидал, что он решит вашу проблему (иначе это был бы ответ, а не комментарий). Я просто OCD, когда дело доходит до чистоты кода :-) – paxdiablo

ответ

0

Ваши query_posts варианты должны быть отформатированы как массив:..

query_posts(array(
    'showposts' => 3, 
    'cat' => 'current-releases' 
)); 
+0

Спасибо за ваш ответ. Я обновил вопрос, чтобы он отражал ваш ответ, и проблема по-прежнему существует по моему запросу. Он продолжает показывать один и тот же снова и снова. –

0

query_posts не следует использовать, я бы начать путем замены это. Помните, что при этом вам необходимо обновить петлю, а также.

$related_posts = new WP_Query(array(
    'posts_per_page' => 3, 
    'cat' => 'current-releases', 
    'no_found_rows' => true, 
)); 

// we don't want any output if no posts found. 
if ($related_posts->have_posts()) : 

    echo '<div class="related-posts">'; 

    while ($related_posts->have_posts()) : $related_posts->the_post(); 
     echo '<div class="related-album">'; 

     // the_post_thumbnail() and the_title() output, not return 
     the_post_thumbnail('large'); 
     the_title(' '); // I've used ' ' as the before arg since your original code did that. 

     echo '</div>'; 
    endwhile; 

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