У меня есть эта функция, которая содержит несколько пользовательских SQL:
function user_comment_count_by_meta( $user_id, $meta_key )
{
global $wpdb;
$count = 0;
$sql = "SELECT count(*) FROM $wpdb->comments comments INNER JOIN $wpdb->commentmeta meta ON comments.comment_ID = meta.comment_id WHERE comments.user_id = %d AND meta.meta_key = %s";
$count = $wpdb->get_var( $wpdb->prepare( $sql, $user_id, $meta_key ) );
return $count;
}
Что нужно сделать, так это подсчитать все комментарии пользователя, к которому прикреплено определенное мета-значение, и вернуть это число. Так, например, если пользователь сделал 20 комментариев, а затем 11 из них имеют прикрепленное к ним мета-значение «принято», тогда возвращаемое число будет равно 11 *.
Я вызываю функцию так:
<?php $count = user_comment_count_by_meta( get_the_author_meta('id'), 'accepted' ); ?>
Однако это ничего не возвращает. Не уверен, где я ошибся? Если какие-то гении SQL могут помочь или кто-то может обнаружить проблему, это будет высоко ценится. Спасибо.