サポート » 使い方全般 » 「最新のコメント日時」順に記事をソートする方法

  • 解決済 mintmind

    (@mintmind)


    タイトルの通りです。
    記事についた最新のコメントの日時の順番で、
    特定カテゴリの記事を並べ替える方法を探しています。

    記事A 最新コメント 3/14 12:00
    記事B 最新コメント 3/13 20:00
    記事C 最新コメント 3/14 17:00

    こうなっていたら ↓↓

    記事C 最新コメント 3/14 17:00
    記事A 最新コメント 3/14 12:00
    記事B 最新コメント 3/13 20:00

    ↑↑ こういった順番に記事を並び替えられるようにしたいのです。

    同様の質問は海外フォーラムなどでもいくつか見つけましたが、
    どれも試してみたところどうも上手く機能しません。

    http://wordpress.org/plugins/filter-by-comments/
    こういったプラグインもあるのですが、これもなぜだが使えなくて困っています。

    わかりやすく、query_postなどを使ってできればよいのですが・・・。
    なにかいい方法があればお教え下さい。

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

    以下のような感じでどうですか?

    <ol>
    <?php
    $args= array(
        'status' => 'approve',
        'type' => 'comment',
        'post_status' => 'publish',
    );
    
    $comments_query= new WP_Comment_Query;
    $comments = $comments_query->query( $args );
    $html= '<li><p>%1$s</p><article><h2><a href="%2$s">%3$s</a></h2>Author: <span>%4$s</span>Date: %5$s<div>%6$s</div></article></li>';
    
    if ( $comments ) {
        foreach ( $comments as $comment ) {
    
            $id     = absint( $comment->comment_post_ID );
            $post_data= get_post( $id );
    
    		$category = has_category( 4, $id );//カテゴリ判定
    
            if ( $id !== $copied_id && $category) {
    
                printf( $html ,
                    wp_html_excerpt( $comment->comment_content , 60, '...' ),//コメント
                    esc_url( get_permalink( $id ) ),//投稿URL
                    wp_html_excerpt( $post_data->post_title , 40, '...' ),//投稿タイトル
                    get_the_author_meta('nickname', $post_data->post_author ),//投稿者ニックネーム
                    $post_data->post_date,//投稿日
                    wp_html_excerpt( $post_data->post_content , 60, '...' )//投稿の概要
                );
            }
            $copied_id= $id;
        }
    }
    ?></ol>

    トピック投稿者 mintmind

    (@mintmind)

    早速のお返事ありがとうございます。

    カテゴリーの数値だけ変えて、コードをそのまま貼り付けてみたのですが、
    ページ自体が表示されなくなってしまいました・・・。

    とある記事内で、この「最新のコメント日時」順に並んだ記事のリストが欲しいのですが、
    これは投稿記事内にそのまま貼り付けても使えますでしょうか?
    記事の中でPHPを使えるようにするプラグインは入れてあります。

    投稿には、貼れないんです。

    記事の中でPHPを使えるようにするプラグインは入れてあります

    そういったプラグインを利用していないので、できるかどうかは解りません

    個人的には、投稿本文でPHPが実行できると便利だとは思いますが、本来のWordPressの設定やカスタマイズに慣れておいたほうがいいと思います。

    トピック投稿者 mintmind

    (@mintmind)

    ありがとうございました。
    投稿には無理でしたか・・・べつの方法を考えてみます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「「最新のコメント日時」順に記事をソートする方法」には新たに返信することはできません。