サポート » 使い方全般 » カテゴリー別にページ送り

  • 解決済 goodwell

    (@goodwell)


    現在投稿一覧に、3つのカテゴリーを設けています。
    そのうちの一つはテンプレートを作り、固定ページで一覧が出るようにしています。
    以下がテンプレートです。
    <?php
    /*
    *Template Name: news
    */
    ?>
    <?php get_header(); ?>
    <div id=”contents” >
    <div id=”content”>
    <ul class=”newslist”>
    <?php query_posts(‘category_name=saikin&posts_per_page=10&paged=’.$paged); ?>
    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    <?php get_template_part(‘content’,’excerpt’); ?>
    <?php endwhile; endif; ?>

    </div>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    下にページ送りが出るのですが、同一カテゴリー内にしたいのですが、
    現在すべてのカテゴリーを反映してしまいます。

    検索すると方法は以下のように出ているのですが、どのファイルに書き記せば
    いいかが出ていません。いくつかやってみたのですが、まったく機能しません。
    どうすれば、同一内のページ送りができるのでしょうか?

    <?php previous_post_link( ‘%link’, ‘<span class=”meta-nav”>←</span> %title’, TRUE, ” ) ?>
    <?php next_post_link( ‘%link’, ‘%title <span class=”meta-nav”>→</span>’, TRUE, ” ) ?>

    というのと、

    <?php previous_post_link(‘%link’, ‘前の記事へ’, TRUE); ?>
    <?php next_post_link(‘%link’, ‘次の記事へ’, TRUE); ?>

    というのです。

    WordPress3.5.2

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • モデレーター gatespace

    (@gatespace)

    コード見る限り、わざわざ固定ページで作っている意味が分かりません。
    通常のカテゴリーアーカイブじゃだめなんですか?

    モデレーター Takuro Hishikawa

    (@hissy)

    テーマ内に content.php あるいは content-excerpt.php というファイルがあると思いますのでその内容もここに貼り付けてください。ソースコードはcodeボタンでくくってくださいね

    gatespaceさん hissyさん ありがとうございます。

    以下が content-excerpt.php です。 よろしくお願い申し上げます。

    <div class="post">
    <h2><a href="<?php the_permalink(); ?><?php the_title(); ?></a></h2>
    <p class="postcat"><?php the_category(' '); ?></p>
    
    <p class="thumb">
    
    <?php the_post_thumbnail('thumbnail'); ?>
    
    </p>
    
    <?php the_excerpt(); ?>
    
    <p class="more"><a href="<?php the_permalink(); ?>">続きを読む</a></p>
    
    <p class="postinfo">
    <!--<?php echo get_the_date(); ?>-->
    </p>
    </div>
    モデレーター Takuro Hishikawa

    (@hissy)

    ページテンプレートと、そこから読み込んでいるcontent-excerpt.phpのどちらにもページ送りの記述がないようですが、どこで書いているのでしょうか?

    hissyさん、ありがとうございます。
    そうなんです、自分もページ送りの記述がないのになんであるんだと
    思っていたんです。本来なら固定ページのテンプレートnews.phpにあるはずなのに
    、と思いまして、ほかのファイルを探してみましたら、single.phpに以下のように
    書かれていました。

    <?php get_header(); ?>
    
    <!-- ?R???e???c -->
    <div id="contents" >
    <div id="content" aling="left">
    <?php if(have_posts()): while(have_posts()):
    the_post(); ?>
    	<?php get_template_part('content'); ?>
    
    <p class="pagenation">
    <span class="oldpage"><?php previous_post_link(); ?></span>
    <span class="newpage"><?php next_post_link(); ?> </span>
    </p>
    <?php endwhile; endif; ?>
    </div>
    
    <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>

    ページ送りの記述を以下のようにしましたら、出来ました。

    <span class="oldpage"><?php previous_post_link('%link', '前の記事へ', TRUE); ?></span>
    <span class="newpage"><?php next_post_link('%link', '次の記事へ', TRUE); ?> </span>

    それにしても疑問が残るのは、なんでnews.php というテンプレートを作ったので
    こちらが優先されるのに(そういう頭でいたので探せませんでした)、single.phpの内容が反映されるのかということです。

    モデレーター Takuro Hishikawa

    (@hissy)

    ページテンプレートは作っただけでは適用されず、固定ページの編集画面で選択する必要があります。

    hissyさん
    ありがとうございます。
    固定ページではデフォルトテンプレートではなく
    ちゃんとnews.phpを指定しています。
    そうしたらそれが優先されるはずですよね?

    モデレーター Takuro Hishikawa

    (@hissy)

    そうですね。ただ、single.phpが適用されるということは、is_single() がtrueになっている、つまり固定ページとして認識されていないということです。固定ページとして認識されていれば、そもそもsingle.phpが使われることはありえません。

    hissyさん
    ありがとうございます。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「カテゴリー別にページ送り」には新たに返信することはできません。