サポート » 使い方全般 » コメントとトラックバック(ピンバック)を分けて表示したときのページ

  • 解決済 meeco

    (@meeco)


    オリジナルのテーマを作成して、コメントとトラックバックを分けて表示しています。
    ページ分割したときに、コメントとトラックバック、
    それぞれにページネーション(ページング)をつけて、
    コメントだけ次ページを見たりできるようにしたいと思います。

    いろいろ検索したのですが、コメントとトラックバックを分けて表示する方法は見つかるのですが、ページ分割のことまで書いてあるものが見つかりませんでした。

    paginate_comments_links()で次ページへ行く事はできるのですが、
    コメントもトラックバックも一緒のページに移動してしまいます。

    コメントとトラックバック、それぞれページ分割させる方法を
    ご存知の方がいらっしゃいましたら、
    なにか情報をいただけたら嬉しいです。

    コメントとトラックバックの表示は、それぞれ

    
    <?php wp_list_comments( array(
    	'type'              => 'comment',
    	'reverse_top_level' => true,
    	)
    ); ?>
    
    <?php wp_list_comments( array(
    	'type'              => 'pings',
    	'reverse_top_level' => true,
    	)
    ); ?>
    

    で表示しています。

    プラグインを使わずコードで実装したいので、よろしくお願い致します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    試していませんが、

    argsに、'per_page' => 10,を追加するのと、

    <?php previous_comments_link(  '<span class="meta-nav">&larr;</span> '. esc_html__( 'Older Comments', 'textDomain' ) );?>
    <?php next_comments_link( esc_html__( 'Newer Comments ', 'textDomain' ). '<span class="meta-nav">&rarr;</span>' );?>

    を追加するといったことではないかと思います。

    トピック投稿者 meeco

    (@meeco)

    nobitaさま

    こんにちは。返信ありがとうございます。

    教えて頂いたコードを試してみたのですが、ページ送りすると、
    やっぱりコメントもトラックバックも同じページに移動してしまいました。

    ‘per_page’はページ送りで1ページに表示する件数の指定かと思いますが

    たとえば
    コメントが20件、トラックバックが10件あった場合に、
    コメントを次ページに行くと、トラックバックも次ページ(トラックバックは2ページ目は
    ないので空白)が表示されてしまいます。

    やりたいのは、コメントを次ページに行っても、トラックバックは現在の表示のまま、
    トラックバックを次ページに行っても、コメントは現在の表示のまま、というふうに
    それぞれにページ送りをつけたいのですが…

    コードは以下のようにしてみました。

    
    <?php wp_list_comments( array(
    	'type'              => 'comment',
    	'reverse_top_level' => true,
    	'per_page' => 10,
    	)
    ); ?>
    
    <?php previous_comments_link(  '<span class="meta-nav">←</span> '. esc_html__( 'Older Comments', 'textDomain' ) );?>
    <?php next_comments_link( esc_html__( 'Newer Comments ', 'textDomain' ). '<span class="meta-nav">→</span>' );?>
    
    <?php wp_list_comments( array(
    	'type'              => 'pings',
    	'reverse_top_level' => true,
    	'per_page' => 10,
    	)
    ); ?>
    
    <?php previous_comments_link(  '<span class="meta-nav">←</span> '. esc_html__( 'Older Pings', 'textDomain' ) );?>
    <?php next_comments_link( esc_html__( 'Newer Pings ', 'textDomain' ). '<span class="meta-nav">→</span>' );?>
    

    WordPressはコメントとトラックバックの区別がないから、
    もしかしたらコードで実装するのは難しいのかもしれないので、
    ページ送りのプラグインも探してみます。

    他に情報がありましたら、またよろしくお願い致します 🙂

    そうですね

    cpageというクエリで、両方とも動作してしまうので、ちょっと難しいですね。

    pingの方のページネーションと、表示については、独自に作らないとなると、複雑になりそうなので、jQueryのload()などで、それぞれの部分だけを置き換えられるといいかな、とは、思うのですが、

    トピック投稿者 meeco

    (@meeco)

    nobitaさま

    返信ありがとうございます。
    お返事が遅くなって申し訳ありません。

    wp_list_commentsでは希望の動作が出来ないことがわかったので、
    他の方法で出来るか調べてみます。

    こちらはとりあえず解決済みとさせていただきます 🙂
    ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「コメントとトラックバック(ピンバック)を分けて表示したときのページ」には新たに返信することはできません。