WordPress пользовательский SQL - PullRequest
0 голосов
/ 10 марта 2011

У меня есть эта функция, которая содержит несколько пользовательских 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 могут помочь или кто-то может обнаружить проблему, это будет высоко ценится. Спасибо.

1 Ответ

0 голосов
/ 10 марта 2011

Ну, я думаю, что с SQL все в порядке, но когда вы вызываете свою функцию, вы используете

get_the_author_meta('id')

, и я думаю, что эта функция имеет другое значение.

Если вы хотитеИдентификатор автора сообщения, который вы должны использовать:

get_the_author_ID()

Я не уверен.на самом деле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...