0

現在、このコードを使用して、前と次の投稿のリンクとサムネイルを取得しています

       <?php $prevPost = get_previous_post(true);
            if($prevPost) {?>
            <div class="nav-box previous" style="float:left;">
            <?php $prevthumbnail = catch_that_image($prevPost->ID, array(100,100) );}?>
            <?php previous_post_link('%link',"$prevthumbnail  %title", TRUE); ?>
            </div>

        <?php $nextPost = get_next_post(true);
            if($nextPost) { ?>
        <div class="nav-box next" style="float:right;">
            <?php $nextthumbnail = catch_that_image($nextPost->ID, array(100,100) ); } ?>
            <?php next_post_link('%link',"$nextthumbnail  %title", TRUE); ?>
            </div>

しかし、注目の画像ではなく、投稿の最初の画像をサムネイルとして取得したいと考えています。

現在の投稿の最初の画像を取得するこのコードを見つけましたが、上記のコードでそれを使用して、前の投稿または次の投稿の最初の画像を取得するにはどうすればよいですか?

function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
return $first_img;
}
4

1 に答える 1

0

このコードをカスタム投稿タイプに使用しました。これは、少し変更を加えると機能します。

<div class="memberNavigation">
  <div class="memberNav">
    <?php // Display the thumbnail of the previous post ?>
    <div class="memberNavPrev">
      <?php
                $prevPost = get_previous_post();
                $prevthumbnail = get_the_post_thumbnail($prevPost->ID);
                $prevtitle = get_the_title($prevPost->ID); ?>
      <p class="navtitle">
        <?php previous_post_link('%link', 'Previous Board Member'); ?>
      </p>
      <?php previous_post_link('%link', $prevthumbnail); ?>
      <h5 class="memberTitle">
        <?php previous_post_link('%link', $prevtitle); ?>
      </h5>
    </div>
    <?php // Display the thumbnail of the next post ?>
    <div class="memberNavNext">
      <?php
                $nextPost = get_next_post();
                $nextthumbnail = get_the_post_thumbnail($nextPost->ID); 
                $nexttitle = get_the_title($nextPost->ID); ?>
      <p class="navtitle">
        <?php next_post_link('%link', 'Next Board Member'); ?>
      </p>
      <?php next_post_link('%link', $nextthumbnail); ?>
      <h5 class="memberTitle">
        <?php previous_post_link('%link', $nexttitle); ?>
      </h5>
    </div>
    <div class="clearfix"></div>
  </div>
</div>
于 2013-08-24T11:27:33.440 に答える