Комментарий к запросу wpdb и мета комментария как единое целое

Я пытаюсь создать страницу уведомлений, куда автор может перейти, чтобы увидеть все действия в своих сообщениях.

Я пытаюсь получить комментарии ко всем постам авторов — которые у меня работают, но мне также нужно получить два мета-ключа комментариев, один из которых — «Scientific_Name», а другой — «Common_NAME».

Это работает при получении данных комментария, таких как автор комментария, заголовок, контент. Но исключает жизненно важный комментарий мета

 $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>';

}
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]