- 締切済み
WP タクソノミー前後の記事リンクについて
お客様の声:タクソンミー名(voice) ようにarchive-voice.phpを作りました。 記事の中身表示はsingle.phpはつくらず、ブログ用のindex.phpと共通にしました。 ブログ用のindex.phpには ↓↓↓↓ <!--内容の出力--> <?php if(is_home() || is_category() || is_archive()): ?> <div class="kiji"> <?php if(have_posts()): while(have_posts()): the_post(); ?> <div class="kiji-box"> <p class="catch-taitle"><span class="styledeco"><?php the_category(','); ?></span></p> <!-- アイキャッチ画像設置 --> <?php if (has_post_thumbnail()): ?> <?php the_post_thumbnail('medium'); ?> <?php else: ?> <?php echo '<img src="'.get_template_directory_uri().'/img/noimage.gif" alt="noimage" />'; ?> <?php endif; ?> <h2><a class="linktitle" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <p><?php echo mb_substr(get_the_excerpt(), 0, 120); ?><a class="linkleft" href="<?php the_permalink(); ?>">続きを読む</a>]</p> <div class="postinfo"><?php echo get_the_date(); ?>(<?php the_time(); ?>)<?php edit_post_link(' Edit',' |',''); ?></div> </div> <?php endwhile; endif; ?> </div> <?php else: ?> <!--フロントページ、アーカイブ、カテゴリ--> <!--単独ページ--> <?php if(have_posts()): while(have_posts()): the_post(); ?> <h2 class="blog-title"><?php the_title(); ?></h2> <div class="postinfo"><?php echo get_the_date(); ?>(<?php the_time(); ?>) | カテゴリー:<?php the_category(','); ?><?php edit_post_link(' Edit',' |',''); ?></div> <div class="blog_img"><?php if (has_post_thumbnail()): ?> <?php the_post_thumbnail('full'); ?> <?php endif; ?></div> <?php the_content(); ?> <?php endwhile; endif; ?> <?php endif; ?> <!--内容の出力ここまで--> <!--ページ送り--> <?php if (function_exists("pagination")) {pagination($additional_loop->max_num_pages); } ?> <!--個別の記事のページ送り--> <div id="pagelink"> <?php if(is_single()): ?> <p class="cell1"><?php previous_post_link('←%link', '%title', true, ''); ?></p> <p class="cell2"><?php next_post_link('%link→', '%title', true, ''); ?></p> <?php endif; ?> これだと、お客様の声のページに 記事の前後のリンクが表示されません。 <?php previous_post_link('« %link', '前の記事', TRUE, '', 'voice'); ?> <?php next_post_link('%link »', '次の記事', TRUE, '', 'voice'); ?> としてみたのですが、やはり表示されませんでした。 お客様の声とブログを共通にしているから表示されないのでしょうか・・・?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- garo1970
- ベストアンサー率54% (60/111)
回答No1です。 よく考えたらアーカイブページに対して 「前の記事」「後の記事」っておかしいですね。 個別ページには「前の記事」「後の記事」はありますが、 アーカイブの場合は「前の記事」「後の記事」は存在しないので、 「<!--ページ送り-->」しか適用できないかと思います。
- garo1970
- ベストアンサー率54% (60/111)
詳しく読んではいませんが、 最後から4行目のif文でis_single()と判定していますね? 「個別ページだったらページ送りを表示」 となっているわけですが、 この表示するつもりのページはアーカイブですよね? だから表示してくれないのでは? if文の判定をis_archive()なり、 ソースの2行目の判定文 if(is_home() || is_category() || is_archive()) をそのまま使うなりすればいいのでは?と思いました。
補足
ありがとうございます! 確かに!!!っと思って早速書き直してみたのですが まったく表示されず・・・? 試しにif文をとってみたのですが やはり表示されませんでした。 他にどこか間違っているところありますか
お礼
なるほど。了解しました。 でも前後の記事を表示させたいので、何か他の手段を考えてみます。 ご相談にのっていただき誠にありがとうございました。