[wp]カスタム投稿のsingle.phpでページネーションを設置する

コピペで済ませてたからわからなくなった。

やりたいこと

wp上のタグで出せるんだけど、カスタムフィールドとかそのあたりも表示させたいってなったら凝ったことが必要になる。だからやっていく必要がある。

投稿の内容と合わせてSmartCustomFieldsで登録したやつも表示させる。

参考

WordPress:「前の記事」「次の記事」7つのカスタマイズ方法
WordPressで、前の記事、次の記事のリンクを設置して、カスタマイズする7つの方法をご紹介します

ほぼほぼそのままなんだけど、コピペしたら動かなかったから多少手を入れた。

やる

<?php
$prevpost = get_adjacent_post(false, '', true);
$nextpost = get_adjacent_post(false, '', false);
if( $prevpost || $nextpost ):
?>
<ul>
<?php
if($prevpost):
    $previmg = scf::get('img',$prevpost->ID);
?>
<li>
    <a href="<?php the_permalink($prevpost->ID); ?>">
        <div class="inner">
            <div class="img"><img src="<?php echo wp_get_attachment_url($previmg); ?>" alt="<?php the_title($prevpost->ID); ?>"></div>
            <div class="txt"><?php the_title($prevpost->ID); ?></div>
        </div>
    </a>
</li>
<?php endif; ?>
<?php
if($nextpost):
    $nextimg = scf::get('img',$nextpost->ID);
?>
<li>
    <a href="<?php the_permalink($nextpost->ID); ?>">
        <div class="inner">
            <div class="img"><img src="<?php echo wp_get_attachment_url($nextimg); ?>" alt="<?php the_title($nextpost->ID); ?>"></div>
            <div class="txt"><?php the_title($nextpost->ID); ?></div>
        </div>
    </a>
</li>
<?php endif; ?>
</ul>
<?php endif; ?>

SCFはACFよりも書くことが多いから変数化することが流行ってるんで、ifの直下で宣言。

foreachとかで回してるわけじゃないから取得時に都度idを入れとかないといけない点に注意。

コメント

タイトルとURLをコピーしました