やっていること
カスタム投稿タイプを作成し、そのsingleページに前後の記事へ飛ぶようにリンクをつけたいです。
参考記事より、下記のphpファイル(single-xxxx.php)を作成しました。
php
1<?php if (have_posts()) : while (have_posts()) : the_post();?> 2 3 <!DOCTYPE html> 4 <html dir="ltr" lang="ja"> 5 <head> 6 <?php include($root_path . "meta.php"); ?> 7 <?php wp_head(); ?> 8 </head> 9 <body> 10 <?php include($root_path . "header.php"); ?> 11 <div id="wrapAll"> 12 <main> 13 <section class="head"> 14 <h1><span class="wrap"><span class="en">ARCHIVES</span><span class="jp">アーカイブス</span></span></h1> 15 </section> 16 17 <article> 18 <div class="blog_wrap"> 19 <div class="blog_head"> 20 <h2><span><?php the_title(); ?></span></h2> 21 <p class="date"><span><?php the_time('Y.m.d'); ?></span></p> 22 </div> 23 <div class="blog_main"> 24 <?php the_content();?> 25 </div> 26 </div> 27 </article> 28 <?php 29 $prevpost = get_adjacent_post(false, '', true); 30 $nextpost = get_adjacent_post(false, '', false); 31 32 33 echo '<div><ul><li>'; 34 if ($prevpost) : 35 echo '<a href="' . get_permalink($prevpost->ID) . '"><span><</span></a>'; 36 endif; 37 echo '</li><li><a href="/" ><span>BACK TO INDEX</span></a></li><li>'; 38 if ($nextpost) : 39 echo '<a href="' . get_permalink($nextpost->ID) . '"><span>></span></a>'; 40 endif; 41 echo '</li></ul></div>'; 42 ?> 43 44 <?php endwhile; endif; ?> 45 46 </main> 47 </div> 48 <?php include($root_path . "footer.php"); ?> 49 <?php wp_footer(); ?> 50 </body> 51 52</html>
問題点
記事を10件ほどテストで入力したのですが、
・ ページャーは前後のどちらかのみが表示
・ そのリンク先が一番最初の記事・一番最後の記事のいずれか
・ 中間にある記事へのリンクが表示されません
get_next_post
の関数など代替の関数で前後の投稿IDを取得して・・・・ということもやってみましたが同様の結果です。
ループの中に記述したり、外に記述したり試してみましたが、こちらも同様の結果でした。。。
私の方で他に気がつくところがなくなり、皆様のお知恵をお借りできればと思っております。。。
説明不足な箇所ございましたらおしらせくださいませ。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー