こんにちは、
以下のような感じでどうですか?
<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>
早速のお返事ありがとうございます。
カテゴリーの数値だけ変えて、コードをそのまま貼り付けてみたのですが、
ページ自体が表示されなくなってしまいました・・・。
とある記事内で、この「最新のコメント日時」順に並んだ記事のリストが欲しいのですが、
これは投稿記事内にそのまま貼り付けても使えますでしょうか?
記事の中でPHPを使えるようにするプラグインは入れてあります。
投稿には、貼れないんです。
記事の中でPHPを使えるようにするプラグインは入れてあります
そういったプラグインを利用していないので、できるかどうかは解りません
個人的には、投稿本文でPHPが実行できると便利だとは思いますが、本来のWordPressの設定やカスタマイズに慣れておいたほうがいいと思います。
ありがとうございました。
投稿には無理でしたか・・・べつの方法を考えてみます。
(@mintmind)
10年、 11ヶ月前
タイトルの通りです。
記事についた最新のコメントの日時の順番で、
特定カテゴリの記事を並べ替える方法を探しています。
記事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などを使ってできればよいのですが・・・。
なにかいい方法があればお教え下さい。