1

我最近刚刚编写了一个特色部分,该部分实际上将拉出它在数组中指定的位置。这是代码

<div class="container_24">
<ul id="featured_posts" class="grid_24">

<?php $thePostIdArray = array("13968","14293", "15018", "15512"); ?>
<?php $limit = 4 ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); $counter++; ?>
<?php if ( $counter < $limit + 1 ): ?>

<?php $post_id = $thePostIdArray[$counter-1]; ?>
<?php $queried_post = get_post($post_id); ?>
 <li class="featured_post">
    <div class="featured_thumbnail"> <a href="<?php echo get_permalink( $post_id ); ?>"><img width="55" height="55" src="<?php echo img_feature($post_id) ?>" class="attachment-featured-small wp-post-image" alt="<?php echo $queried_post->post_title; ?>"></a></div>
    <div class="featured_title">
      <h2><a href="<?php echo get_permalink( $post_id ); ?>"><?php echo $queried_post->post_title; ?></a></h2>
    </div>
  </li>

<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

</ul>
</div>

现在这段代码可以完美地运行在任何有循环的页面上home,并且它会按预期显示特色帖子,但是它不会在任何其他没有类似循环的页面上显示的问题或任何其他页面就像没有帖子的单页。archivepost4postsingle.phpcontact page

我不知道我是否在上面做错了什么,我已经在其中包含了这个header,假设显示到所有包含的页面,header问题是只显示第一个,而不是其余的就像循环只运行一次并停止。

如果我做错了什么,请指出我。

谢谢

4

1 回答 1

1

使用如下的 foreach 循环。

<div class="container_24">
<ul id="featured_posts" class="grid_24">

<?php $thePostIdArray = array("13968","14293", "15018", "15512"); ?>
<?php foreach ($thePostIdArray as $post_id) : ?>
    <?php $queried_post = get_post($post_id); ?>
     <li class="featured_post">
        <div class="featured_thumbnail"> <a href="<?php echo get_permalink( $post_id ); ?>"><img width="55" height="55" src="<?php echo img_feature($post_id) ?>" class="attachment-featured-small wp-post-image" alt="<?php echo $queried_post->post_title; ?>"></a></div>
    <div class="featured_title">
        <h2><a href="<?php echo get_permalink( $post_id ); ?>"><?php echo $queried_post->post_title; ?></a></h2>
    </div>
  </li>
 <?php endforeach; ?>

</ul>
</div>
于 2012-05-24T00:46:48.303 回答