Php wpdb查询注释和注释元为一体
我正在尝试构建一个通知页面,作者可以在其中查看其帖子上的所有活动 我正在尝试获取所有作者帖子上的评论-我正在工作,但我还需要获取两个评论元键,一个是“科学名称”,另一个是“普通名称” 这可用于获取注释数据,如注释作者、标题和内容。但排除了重要的评论Php wpdb查询注释和注释元为一体,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,我正在尝试构建一个通知页面,作者可以在其中查看其帖子上的所有活动 我正在尝试获取所有作者帖子上的评论-我正在工作,但我还需要获取两个评论元键,一个是“科学名称”,另一个是“普通名称” 这可用于获取注释数据,如注释作者、标题和内容。但排除了重要的评论 $suggestions = $wpdb->get_results( " SELECT $wpdb->posts.guid, $wpdb->posts.post_title, $wpdb->posts.ID,
$suggestions = $wpdb->get_results( "
SELECT $wpdb->posts.guid,
$wpdb->posts.post_title,
$wpdb->posts.ID,
$wpdb->comments.comment_author,
$wpdb->comments.comment_author_email,
$wpdb->comments.comment_date,
$wpdb->comments.comment_content
FROM $wpdb->posts left join $wpdb->comments
ON $wpdb->posts.ID=$wpdb->comments.comment_post_ID
WHERE $wpdb->posts.post_author=".$current_user->id."
AND $wpdb->posts.post_status='publish' AND
$wpdb->comments.comment_type='comment'
OR $wpdb->comments.comment_type='suggestion'
");
我也尝试了以下方法,但返回的数据非常错误:
$suggestions = $wpdb->get_results( "
SELECT *
FROM $wpdb->posts as a left join $wpdb->comments as b
ON b.comment_post_ID = a.ID left join $wpdb->commentmeta as c
ON c.comment_id = b.comment_ID
WHERE a.post_author='63'
AND a.post_status='publish' and b.comment_type='comment'
OR b.comment_type='suggestion'
");
在做了很多工作之后,我得到了你在下面看到的东西,但是有太多的循环
$auth_posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE $wpdb->posts.post_author = '".$current_user->id."' AND $wpdb->posts.post_status='publish' AND $wpdb->posts.post_type='species'");
foreach($auth_posts as $auth_post) {
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE $wpdb->comments.comment_post_ID = ".$auth_post->ID." AND $wpdb->comments.comment_type='comment' OR $wpdb->comments.comment_type='suggestion'");
if($comments) {
foreach($comments as $comment) {
$comment_meta = get_comment_meta($comment->comment_ID);
echo $auth_post->post_title.'<br>';
echo $comment->comment_author."<br>";
// print_r($comment_meta['scientific_name']);
echo $comment_meta['scientific_name'][0].'<br>';
echo $comment_meta['common_name'][0].'<br>';
}
}
}
$auth\u posts=$wpdb->get\u results(“从$wpdb->posts.post中选择*其中$wpdb->posts.post\u author='”“$current\u user->id.”和$wpdb->posts.post\u status='publish'和$wpdb->posts.post\u type='species'”;
foreach($auth_post为$auth_post){
$comments=$wpdb->get_results(“从$wpdb->comments中选择*,其中$wpdb->comments.comment\u post\u ID=“.auth\u post->ID.”和$wpdb->comments.comment\u type='comment'或$wpdb->comments.comments\u type='suggestion');
如果($评论){
foreach($comments作为$comment){
$comment\u meta=get\u comment\u meta($comment->comment\u ID);
echo$auth_post->post_title.“
”;
echo$comment->comment_author.“
”;
//打印($comment_meta['scientific_name']);
echo$comment_meta['scientific_name'][0]。
;
echo$comment_meta['common_name'][0]。
;
}
}
}
我不确定这里的问题是什么。你解决了吗?我试着写一个查询,获取所有作者的帖子,然后获取评论和评论元,但是我试着在没有这么多嵌套循环和查询的情况下这样做