Неправильная работа хука в fn_get_discussion_posts

Сначала достается общее количество отзывов

    if (!empty($params['limit'])) {
    $limit = db_quote("LIMIT ?i", $params['limit']);

} elseif (!empty($params['items_per_page'])) {
    $params['total_items'] = db_get_field("SELECT COUNT(*) FROM ?:discussion_posts $join WHERE $condition");
    $limit = db_paginate($params['page'], $params['items_per_page'], $params['total_items']);
}

Повлиять на выборку можно только потом - так как hook с condition идет ниже

    fn_set_hook('get_discussion_posts', $params, $items_per_page, $fields, $join, $condition, $order_by, $limit);

Таким образом, если делать свою выборку, общее количество все равно не будет учитывать изменение $condition.