Так случилось, что информация на данном сайте находится во многих местах (форум, группы, публикации, новости)
Я продолжаю добрую традицию коллекционировать и собирать все в одном месте.
По прайм форуму уже есть тема на форуме с сниппетами - пока оттуда я ничего трогать не буду.
Хуки форума для вывода в определенном месте:
В шапке форума:
add_action('pfm_header','ваша-функция');
В подвале форума:
add_action('pfm_footer','ваша-функция');
Выведем кол-во пользователей онлайн:
Если у вас включено дополнение Real Time Users то мы можем включить его в подвал форума (WP-Recall версии 16.6.14)
Добавьте в ваш functions.php следующий код:
// выведем кол-во юзеров от допа Real Time User function otfm_prime_real_time_user(){ if(rcl_exist_addon('real-time-users')){ echo '<div style="display:flex;font-size:12px;"><span style="margin-right: 3px;">Пользователей на сайте:</span><div class="realtimeuserscounter"></div></div>'; } } add_action('pfm_footer','otfm_prime_real_time_user',8); //срабатывает в подвале форума
Результат: https://yadi.sk/i/4rV1A2v-3Mrz38
Проверить что мы на странице форума:
if( is_prime_forum() ){ // мы на форуме }
тут важно упомянуть: что функция is_prime_forum определена в дополнении прайм форума - поэтому если доп отключим - получим фатальную ошибку. Перед этой проверкой выполнить проверку что доп активирован:
if( rcl_exist_addon('prime-forum') ) // активирован этот доп
Покажем кнопку последних тем форума в реколлбаре:
Данный сниппет в реколлбаре, справа, выведет кнопку, которая будет вызывать последние обновленные темы прайм форума в модальном окне.
// кнопка обновленных тем форума в реколлбаре function otfm_add_recallbar_prime_button(){ if(!rcl_exist_addon('prime-forum')) return false; // прайм форум не активирован rcl_enqueue_script('pfm-scripts', RCL_URL.'add-on/prime-forum/js/scripts.js'); // скрипт rcl_enqueue_style('ftf-style', RCL_URL.'add-on/prime-forum/themes/prime-first/style.css'); // стили rcl_dialog_scripts(); // скрипт и стили модального окна $content = '<div class="rcb_icon">'; $content .= '<a href="#" class="topic-action action-get_last_updated_topics" onclick="pfm_ajax_action({"item_type":"primary","method":"get_last_updated_topics"});return false;">'; $content .= '<i class="fa fa-bell-o" aria-hidden="true"></i>'; $content .= '<div class="rcb_hiden"><span>Новое на форуме</span></div>'; $content .= '</a>'; $content .= '</div>'; echo $content; } add_action('rcl_bar_print_icons','otfm_add_recallbar_prime_button');
- проверяем что сам доп активирован. Загружаем скрипт модального окна и сам вызов. Иконку и текст сами поменяйте на необходимую.
Результат:
Теперь у вас полезная кнопка на всех страницах вашего сайта.
С версии реколл 16.6.15 вы можете выводить не только справа кнопки в реколлбаре, но и слева. Если вам нужно вывести кнопку слева используйте хук (action) rcl_bar_left_icons
Все сниппеты для реколлбара - тут
Выделим что это сообщение автора темы:
Сообщение автора топика можно выделить - у него есть класс в верстке https://yadi.sk/i/Jngo0-S63N3bKk
Применим css псевдокласс и выделим автора топика (ниже css-сниппет)
#prime-forum .prime-post.topic-author::before { background: rgba(170, 209, 219, 0.85); bottom: 0; color: #000; content: "Автор темы"; font-size: 12px; left: 0; line-height: 12px; padding: 3px 5px; position: absolute; }
Выведем в подвале форума кнопки входа:
Внимание! Данная форма входа и регистрации будет выводиться если у вас в основных настройках плагина стоит вывод всплывающей формы входа. Но ничто вам не мешает заменить вывод кнопок на ссылки к вашей форме входа.
Выведем 2 кнопки для гостей в подвале форума: Вход и Регистрация
function otfm_add_float_form_sign(){ global $user_ID; if ($user_ID) return false; // юзер залогинен $out = '<a href="#" class="recall-button rcl-login"><span>Вход</span></a>'; $out .= '<a href="#" class="recall-button rcl-register"><span>Регистрация</span></a>'; echo $out; } add_action('pfm_footer','otfm_add_float_form_sign',400);
Все сниппеты к форме входа и регистрации здесь
Отключим отправку письма автору темы о новом комментарии на форуме
Я бы не советовал этого делать, но если вам для своих целей нужно чтобы автор темы не получал писем о новых комментариях - вот сниппет:
remove_action('pfm_add_post','pfm_send_mail_topic_author',10);
- теперь автор темы не будет получать писем. Но с этим сниппетом внимательнее. Надеюсь вы понимаете что делаете и потом не будете задавать вопрос - "почему я не получаю писем о новом комментарии на форуме"
Автору темы на форуме присылать уведомления о новых комментариях к ней - через доп Rcl-Notification
Доп Rcl-Notification у вас должен быть активен
function otfm_prime_post_notification($post_id){ $post = pfm_get_post($post_id); $topic = pfm_get_topic($post->topic_id); if($topic->user_id == $post->user_id) return false; // если автор топика отвечает сам, то не шлем письмо иначе шлем if(!rcl_exist_addon('notification')) return false; // доп уведомлений выключен $args = array( 'user_id'=>$topic->user_id, 'notice_subject'=> 'Комментарий на форуме', 'notice_content'=>'Пользователь <a href="'.get_author_posts_url($post->user_id).'">'.get_the_author_meta('display_name',$post->user_id).'</a> оставил <a href="'.pfm_get_post_permalink($post->post_id).'">комментарий</a> к вашей теме на форуме "'.$topic->topic_name.'"' ); rcl_add_notification($args); } add_action('pfm_add_post', 'otfm_prime_post_notification');
- теперь автор будет получать уведомления через этот доп. Скриншот: https://yadi.sk/i/alkiAvgA3Qxv2y
XML карта для PrimeForum
Создание карты форума для поисковых систем я рассмотрел в этом уроке
Откроем вкладку Форум в ЛК всем пользователям
Сейчас вкладку форум - ответы на форуме и созданные темы, видит только хозяин личного кабинета.
Открыть вкладку и показать содержимое вкладки для всех, можно следующим сниппетом:
// откроем вкладку форум всем function otfm_open_prime_tab($tabs){ if($tabs['id'] != 'prime-forum') return $tabs; $tabs['public'] = 1; // откроем всем return $tabs; } add_filter('rcl_pre_output_tab','otfm_open_prime_tab');
Пока всё...
Сниппеты (функции и стили) вы можете вставлять в альфа фиксатор
p.s Еще полезное:
Сниппеты WP-Recall
Знаете ли вы что… Факты о плагине WP-Recall и единая база для разработки под WP-Recall. Сервис CodeSeller.ru — Секреты, советы, рекомендации.
Добавил простой, но крутой сниппет: "Покажем кнопку последних тем форума в реколлбаре" - теперь все обновления на форуме у вас под рукой на всех страницах сайта
Сниппет кнопочки "последних тем" крутая штука. Спасибо и уже использую.
Очень большое спасибо!
Последние сниппет для реколлбара просто эпичен :), спасибо.
Отличная статья! Спасибо! 🙂