Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php wpdb查询注释和注释元为一体_Php_Mysql_Sql_Wordpress - Fatal编程技术网

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]。
; } } }
我不确定这里的问题是什么。你解决了吗?我试着写一个查询,获取所有作者的帖子,然后获取评论和评论元,但是我试着在没有这么多嵌套循环和查询的情况下这样做