我想在自定义帖子类型中添加一个页面模板,并在该页面中检索当前用户发布的评论。
我有以下获取当前用户的代码:
<!-- GET CURRENT USER -->
<?php
global $current_user;
get_currentuserinfo();
echo \'Username: \' . $current_user->user_login . \'<br />\';
echo \'User email: \' . $current_user->user_email . \'<br />\';
echo \'User first name: \' . $current_user->user_firstname . \'<br />\';
echo \'User last name: \' . $current_user->user_lastname . \'<br />\';
echo \'User display name: \' . $current_user->display_name . \'<br />\';
echo \'User ID: \' . $current_user->ID;
?>
获取当前用户评论的代码:
<!-- GET COMMENTS OF USER -->
<?php
$args = array(
\'user_id\' => 1, // use user_id
\'post_type\' => \'my-CPT\',
);
$comments = get_comments($args);
foreach($comments as $comment) :
echo($comment->comment_author . \'<br />\' . $comment->comment_content);
endforeach;
?>
以及列出注释的代码:
<ol class="commentlist">
<?php
wp_list_comments( array( \'callback\' => \'outbox_comment\' ) );
?>
</ol><!-- .commentlist -->
这就是我
page-commentsbyuser.php 正在查看:
<?php
/**
* The template for displaying a list of comment from the current user
*
*/
get_header();
?>
<div id="primary" class="row">
<div id="content" class="span9" role="main">
<!-- GET CURRENT USER -->
<?php
global $current_user;
get_currentuserinfo();
echo \'Username: \' . $current_user->user_login . \'<br />\';
echo \'User email: \' . $current_user->user_email . \'<br />\';
echo \'User first name: \' . $current_user->user_firstname . \'<br />\';
echo \'User last name: \' . $current_user->user_lastname . \'<br />\';
echo \'User display name: \' . $current_user->display_name . \'<br />\';
echo \'User ID: \' . $current_user->ID;
?>
<!-- GET COMMENTS OF USER -->
<?php
$args = array(
\'user_id\' => 1, // use user_id
\'post_type\' => \'my-CPT\',
);
$comments = get_comments($args);
foreach($comments as $comment) :
echo($comment->comment_author . \'<br />\' . $comment->comment_content);
endforeach;
?>
<ol class="commentlist">
<?php
wp_list_comments( array( \'callback\' => \'outbox_comment\' ) );
?>
</ol><!-- .commentlist -->
</div><!-- #content .site-content -->
</div><!-- #primary .content-area -->
这不起作用,我也不知道如何才能得到当前用户的评论。
关于如何在此页面模板中从当前用户的CPT中检索注释,有什么建议吗?
最合适的回答,由SO网友:s_ha_dum 整理而成
这不起作用,我也不知道如何才能得到当前用户的评论。
您已经在代码中使用了当前用户的ID。。。
echo \'User ID: \' . $current_user->ID;
。。。但是你在
get_comments
参数数组。不要那样做。使用当前用户ID。
$args = array(
\'user_id\' => $current_user->ID, // use user_id
\'post_type\' => \'my-CPT\',
);
我不确定您的用户评论与
wp_list_comments
. 你已经输出了用户评论,所以我不知道你为什么要运行
wp_list_comments
除非您试图输出一组不同的注释,或者您试图再次输出相同的注释(这很奇怪)。不管怎样,你都需要通过
wp_list_comments
一组注释,如中所示
this example from the Codex (重新格式化以减少混淆):
//Gather comments for a specific page/post
$comments = get_comments(
array(
\'post_id\' => XXX,
\'status\' => \'approve\' //Change this to the type of comments to be displayed
)
);
//Display the list of comments
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
);
注意第二个参数
$comments
, 这是调用的输出
get_comments
. 你似乎在使用这个的背景下,我认为这是必须的。