2014-10-01 3 views
0

У моего сайта Wordpress есть проблема: В моем блочном цикле только первое сообщение содержит контент; для остальных the_content(); никогда не назывался (проверяется с помощью элемента «проверка»). Любые проблемы в моем коде?Только первый пост имеет контент в цикле

PHP/HTML:

<section id="blogPosts" class="clearfix"> 
<?php $myposts = get_posts(''); 
    foreach($myposts as $post) : 
     setup_postdata($post); 
    ?> 
    <div id="post-&lt;?php the_ID(); ?&gt;" class="post clearfix"> 
     <div class="postHeader clearfix"> 
      <a href="&lt;?php the_permalink();?&gt;"> 
      <h2><?php the_title(); ?></h2> 
      </a> 
      <h4><?php the_date(); ?></h4> 
     </div> 
     <div class="postTags clearfix"> 
      <ul class="tagContainer clearfix"> 
     <?php the_tags('<li><div class="tagInline">', 
         '</div></li><li><div class="tagInline">', 
         '</div></li>'); ?> 
      </ul> 
     </div> 
     <div class="blogContent"> 
    <?php the_content();?> 
     </div> 
     <div class="editPost"> 
    <?php edit_post_link('<h4>Redigera detta inlägg', '', '</h4>'); ?> 
     </div> 
    <?php wp_link_pages(array('before' => 'Pages: ', 'next_or_number' => 'number')); ?> 
    <?php //comments_template(); ?> 
    </div> 
<?php endforeach; wp_reset_postdata(); ?> 
</section> 
+0

'get_posts ('')' выглядит подозрительно. Разве это не массив аргументов? – wavemode

+0

Любая идея о том, какой должен быть массив? –

ответ

0

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

<?php $posts_array = get_posts($args); ?> 

По умолчанию Использование в аргументах:

<?php $args = array(
    'posts_per_page' => 5, 
    'offset'   => 0, 
    'category'   => '', 
    'orderby'   => 'post_date', 
    'order'   => 'DESC', 
    'include'   => '', 
    'exclude'   => '', 
    'meta_key'   => '', 
    'meta_value'  => '', 
    'post_type'  => 'post', 
    'post_mime_type' => '', 
    'post_parent'  => '', 
    'post_status'  => 'publish', 
    'suppress_filters' => true); ?> 

Доступ ко всем статьям

<?php 
$args = array('posts_per_page' => -1); 
$allposts = get_posts($args); 
foreach ($allposts as $post) : 
    setup_postdata($post); ?> 
    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 
    <?php the_content(); ?> 
<?php endforeach; 
wp_reset_postdata(); ?> 

Это простой код для получения всех сообщений. Вы можете проверить код, распечатав данные (print_r ($ post);), чтобы проверить, что вы получаете в цикле.

0

Если вы говорите о странице, которая была присвоенного Столбы под Wordpress Настройки чтения, вы можете избавиться от большинства из кода и упростить его:

<?php if (have_posts()): while (have_posts()) : the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content(); ?> <?php endwhile; endif; ?>

Просто поместить любую информацию, которую вы хотите между , а заявление, и все будет хорошо. См. Раздел Wordpress codex, если вы хотите уточнить его.

+0

'if (has_posts())' избыточно, поскольку 'while (has_posts()) сам по себе предотвратит запуск кода внутри, если нет сообщений. – wavemode

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