WordPressの質問(q10006002)の続
前後の記事のコメント欄を標示する方法がわかりません。
<?php
$team = get_post_meta($post->ID, 'team', true);//赤、青、緑のチームに分ける
// 投稿オブジェクトの取得
if ('red' === $team) {
$post_red = $post; // 赤(現在)
$post_blue = get_adjacent_post(true, '', false); // 青(現在の次)
$post = $post_blue; // 現在を青に置きかえる
$post_green = get_adjacent_post(true, '', false); // 緑(現在の次:青の次)
$post = $post_red; // 現在を赤に戻す
} elseif ('blue' === $team) {
$post_blue = $post; // 青(現在)
$post_red = get_adjacent_post(true, '', true); // 赤(現在の前)
$post_green = get_adjacent_post(true, '', false); // 緑(現在の次)
} elseif ('green' === $team) {
$post_green = $post; // 緑(現在)
$post_blue = get_adjacent_post(true, '', true); // 青(現在の前)
$post = $post_blue; // 現在を青に置きかえる
$post_red = get_adjacent_post(true, '', true); // 赤(現在の前:青の前)
$post = $post_green; // 現在を緑に戻す
}
/*$post_thumbnail_id = get_post_thumbnail_id($post);//画像の投稿データから画像IDを取得する ※おそらくいらない */
$red_post_thumbnail_id = get_post_thumbnail_id($post_red);//赤、青、緑の投稿データから前後の画像IDを取得する
$blue_post_thumbnail_id = get_post_thumbnail_id($post_blue);
$green_post_thumbnail_id = get_post_thumbnail_id($post_green);
$red_post_image_src = wp_get_attachment_image_src($red_post_thumbnail_id);//赤、青、緑の投稿データから前後の画像URLを取得する
$blue_post_image_src = wp_get_attachment_image_src($blue_post_thumbnail_id);
$green_post_image_src = wp_get_attachment_image_src($green_post_thumbnail_id);
/*$post_id = post_id ($post_red,$post_blue,$post_green);*/ ※$argsで設定済みなので多分必要ない
// コメントオブジェクトの取得
$args = [
'author__not_in' => '1', // 管理者を除く
'status' => 'approve', // 承認済み
'type' => 'comment', // コメント
];
$args['post_id'] = $post_red->ID; // 赤のID
$comments_red = get_comments($args); // 赤のコメント
$args['post_id'] = $post_blue->ID; // 青のID
$comments_blue = get_comments($args); // 青のコメント
$args['post_id'] = $post_green->ID; // 緑のID
$comments_green = get_comments($args); // 緑のコメント
// コメントの表示
if (empty($comments_red)) {
echo '<p>コメントなし</p>';
} else {
echo '<ul>';
foreach ($comments_red as $comment) {
echo "<li>{$comment->comment_content}</li>";
}
echo '</ul>';
}
if (empty($comments_blue)) {
echo '<p>コメントなし</p>';
} else {
echo '<ul>';
foreach ($comments_blue as $comment) {
echo "<li>{$comment->comment_content}</li>";
}
echo '</ul>';
}
if (empty($comments_green)) {
echo '<p>コメントなし</p>';
} else {
echo '<ul>';
foreach ($comments_green as $comment) {
echo "<li>{$comment->comment_content}</li>";
}
echo '</ul>';
}
お礼
ありがとうございます。とても参考になりました