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>

これで、このコードは完全に機能しhomearchiveのループがpostあり、4想定されるように注目の投稿を表示するページでは問題が発生しませんが、ループのpostようなものsingle.phpがないcontact 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 に答える