我需要让特定用户完成帖子,还需要对这些帖子进行评论,到目前为止,我可以获得帖子和评论,但无法获得如何在循环中正确完成,因为现在,无论每个帖子实际属于哪个帖子,我都会为每个帖子显示相同的评论。。。
下面是代码。。。在另一个循环中,我现在很确定这是应该的方式。。。
所以在我的例子中的输出是:帖子列表+每个帖子都会得到所有曾经做过的评论。。。
我想在一个循环中只获取帖子+它的评论(我将只放置php)
<?php $posts = get_recent_posts_by_author_role(\'tenant\');
foreach($posts as $post) {
$title=$post->post_title;
$perma_link=get_permalink($post->ID);
$img_post=get_the_post_thumbnail($post->ID);
$author_name=$post->post_author;
$content_post=$post->post_content;
$date=$post->post_date;
$content_style="comment_text";
?>
<?php $comment=get_comments($post->ID);
foreach($comment as $com){
$com_author=$com->comment_author;
$com_date=$com->comment_date;
$com_content=$com->comment_content;
global $authordata;
$author_roles=$authordata->roles;
?>
<?php }?>
<?php }?>
最合适的回答,由SO网友:gmazzap 整理而成
get_comments
接受一个参数数组,则传递一个整数。
如果要检索所有评论以供发布使用,请执行以下操作:
get_comments( array(\'post_id\' => $post->ID, \'status\' => \'approve\') );
要获取已格式化的注释列表,使用
wp_list_comments()
函数,而不是另一个foreach循环(代码来自codex):
echo \'<ol class="commentlist">\';
//Gather comments for a specific page/post
$comments = get_comments(array(
\'post_id\' => $post->ID,
\'status\' => \'approve\'
));
wp_list_comments(array(
\'per_page\' => 10, // Allow comment pagination
\'reverse_top_level\' => false //Show the latest comments at the top of the list
), $comments);
echo \'</ol>\';
SO网友:Singgih Hadi Saputra
get\\u comments接受一个参数数组,则传递一个整数。
如果要检索所有评论以供发布使用,请执行以下操作:
get_comments( array(\'post_id\' => $post->ID, \'status\' => \'approve\') );
To get an already formatted comment list, is easier use the wp_list_comments() function, instead of another foreach cycle (code from codex):
echo \'<ol class="commentlist">\';
//Gather comments for a specific page/post
$comments = get_comments(array(
\'post_id\' => $post->ID,
\'status\' => \'approve\'
));
wp_list_comments(array(
\'per_page\' => 10, // Allow comment pagination
\'reverse_top_level\' => false //Show the latest comments at the top of the list
), $comments);
echo \'</ol>\';