CSVで記事の一括投稿する場合に「次へ」「前へ」リンクがうまく作動しなかったため、動く方法を覚書。
通常の投稿記事で「次へ」「前へ」等リンクを表示する場合下記のようにコードを書く実現できる。
<div class="prev-next"> <p><?php previous_post_link(); ?></p> <p><?php next_post_link(); ?></p> </div>
ところが、CSVやXMLでの記事を一括入力する場合、投稿時間(タイムスタンプ)が同じになってしまうためこの方法が使えない。
そんな時は、下記コードで動く。
function.php
//IDから記事名取得 function get_page_title($page_id) { $str = get_page($page_id); return $str -> post_title; }
single.php
<div class="perlink"> <?php $nowlink = get_the_ID(); //現在のページID取得 $prelink = $nowlink - 1; //次のページID $nextlink = $nowlink + 1; //次のページID $post_count = wp_count_posts()->publish; //現在公開中の記事数取得 $start_page = 201; //STARTページID $end_page = $post_count + $start_page - 1; //ENDページID echo '<div>'; if($nowlink > $start_page){ echo '<a href="'.get_permalink($prelink).'">'.get_page_title($prelink).'</a>'; }else{ echo ' '; } echo '</div><div> '; if($nowlink < $end_page){ echo '<a href="'.get_permalink($nextlink).'">'.get_page_title($nextlink).'</a>'; } echo '</div>'; ?> </div>
この方法を使う場合、
予め記事のIDを201番から連番で設定しておく必要がある。