С рейтингом скажу сразу ничего у меня не вышло, надеюсь сможем сделать.
Что я сделал и что не сделал, возможно все не правильно делал.
Зарегистрировал новый рейтинг вот так
if(!is_admin()) add_action('init','rcl_register_rating_forum_type'); if(is_admin()) add_action('admin_init','rcl_register_rating_forum_type'); function rcl_register_rating_forum_type(){ rcl_register_rating_type(array( 'rating_type'=>'forum-page', 'type_name'=>'Форум', 'style'=>true, 'icon'=>'fa-user' )); }
Все появилось в админке, но дальше с выводом уже полностью запутался, и не смог сделать.
Я пытался менять эту строчку вывода
echo rcl_get_html_post_rating($object_id,'profile-page',$user_id);
Так как знаний в программировании очень мало, ничего не вышло, то добавляется только админу, то всем, то кто то может, кто то нет, то не учитывается в общем рейтинге... буду конечно при появлении время разбираться, но рассчитываю на вашу помощь.
Получилось сделать вывод и причем даже рабочий рейтинг 🙂
Получаем ID объекта:
<?php $object_id = $post->id; ?>
Выводим рейтинг в посте:
<div class="post-rating"><p> <?php echo rcl_get_html_post_rating($object_id,'forum-page',$post->author_id); ?> </p></div>
Или так, в зависимости где выводим:
//рейтинг начало $object_id = $post->id; echo '<div class="post-rating1"> '.rcl_get_html_post_rating($object_id,'forum-page',$post->author_id).'</div>'; //рейтинг конец
Классы и стили ваши конечно, я просто воткнул, что бы было, время сейчас нет.
Все это добавляем в файл /wp-content/plugins/asgaros-forum/includes/views/thread.php, например в пост. все что ниже <div class="post-message">. Опять же это все на ваше усмотрение.
Не забываем настроить рейтинг в админке:
Вот так будет выглядеть рейтинг:
Буду признателен за комментарии и скорее всего более правильное решение.
По большому счету, наверно только рейтинг и осталось из серьезного. Возможно еще вывести роли пользователей.
Так как возникают вопросы по реализации рейтинга, напишу по пунктам как прикрутить его к форуму.
- Регистрируем новый рейтинг. Добавляем в файл функций вашей темы код регистрации из приведенного выше.
- Идем в админку в настройки WP-RECALL и настраиваем рейтнг "Форум"
- Открываем файл плагина форума в редакторе /wp-content/plugins/asgaros-forum/includes/views/thread.php и после строчки
$this->file_list($post->id, $post->uploads, true);
Вставляем
//рейтинг начало $object_id = $post->id; echo '<div class="post-rating1">'.rcl_get_html_post_rating ($object_id,'forum-page',$post->author_id).'</div>'; //рейтинг конец
Все рейтинг появится у вас в постах.
Для отображения общего рейтинга под аватарой, достаточно использовать отображение иконок из этой темы https://codeseller.ru/post-group/vyvodim-ikonki-lichnogo-kabineta-na-forume/ . Там уже присутствует вывод общего рейтинга.
Функция rcl_get_html_post_rating() выводит кнопки для голосования, но чтобы данные рейтинга заносились верные необходимо правильно передать нужные данные в эту функцию.
1. $object_id - это идентификатор объекта рейтинга, в вашем случае это будет идентификатор комментария на форуме. Вам надо его как то получать, чтобы передавать внутрь функции.
2. Вторым параметром вам необходимо передавать указание типа рейтинга, в вашем случае, того который вы регистрировали 'forum-page'
3. Третьим параметром необходимо передать идентификатор автора объекта рейтинга идентификатор которого вы передавали первым параметром, т.е. нам надо указать ИД пользователя опубликовавшего этот комментарий на форуме.
Буду разбираться, спасибо.
Вроде все решил и даже работает, по позже обновлю пост 🙂
Здравствуйте. Спасибо вам за ваш труд. Ситуация такая - Установил рейтинг wp-recall на Asgaros-forum по пунктам как писал garry. Всё работало тип-топ , пока я не отключил плагин Wp-recall перед его обновлением. После отключения плагина мой сайт сразу вылетел. Методом проб и ошибок нашёл причину сего явления. Причина - регистрация нового рейтинга в функциях шаблона.
rcl_register_rating_type - это функция плагина реколл. Естественно - отключив плагин вы получите ошибку о несуществующей функции. Перед ней делайте проверку на ее существование http://php.net/manual/ru/function.function-exists.php
Решил проблему так - зарегистрировал новый рейтинг в файле rcl-functions.php. Вопрос - нельзя ли как нибудь подправить код , что бы регистрировать новый рейтинг в файле шаблона ? Спасибо
Я в разъездах до окончания праздников, как приеду попробую подумать над вашим вопросом.