15 декабря 2017 в 01:10
на сайт, и вы сможете вступить в группу.
Вы сможете подписаться на выход новых материалов группы.
Вы сможете подписаться на новые комментарии к выбранной записи группы.

Шпаргалка по часто используемым функциям и хукам для WP-Recall при написании своего дополнения

При разработке я часто пытаюсь дословно вспомнить имя фильтра, хука или функции WP-Recall. Здесь они и будут собираться, и если их описание есть на CodeSeller - то будет ссылка на описание.
Добавляйте в закладки - коллекция будет пополняться.

p.s. скриншот выше - правда. Именно столько раз я использовал эти функции написав более 20000 строк в своих php файлах

Ссылки на коллекции:

Глобальные переменные WP-Recall:
$user_LK (число)
Содержит id юзера, в чьем кабинете находимся.
$rcl_office (число)
Тоже что и $user_LK выше - получает id юзера, в чьем кабинете находимся.
$active_addons (массив)
Содержит данные о активированных аддонах. Информация из файла info.txt, id и полный путь на сервере до дополнения. Раньше использовал для проверки - активен ли доп.
Вместо него теперь удобней использовать функцию: rcl_exist_addon('слаг_дополнения')
$rcl_user_URL (строка)
Содержит урл до личного кабинета текущего юзера
$rcl_options (массив)
Содержит данные о всех глобальных настройках реколл. Вместо нее удобней использовать функцию: rcl_get_option('имя_опции')
Функции WP-Recall:

rcl_get_option('$option_name', '$default') - имя опции настроек, значение которой надо получить. Второй (необязательный аргумент) - значение по умолчанию, если опция пуста


rcl_is_office() - функция возвращает true, если мы находимся в личном кабинете.
Передав туда $user_ID мы можем проверить, что мы в своем кабинете.


rcl_exist_addon('rcl-chat') - функция возвращает true, если это дополнение активировано. Принимает id (слаг) нужного дополнения. Описание


rcl_tab($args); - добавляем вкладку в ЛК. Описание


rcl_add_sub_tab($parent_tab_id,$subtab); - добавляет дочернюю вкладку к существующей. Описание


rcl_block($place,$callback,$args); - в личном кабинете сам кабинет разбит на блоки. Позволяет добавить что-то в нужную часть кабинета. Описание


rcl_get_include_template($temp_name, $path=false, $data = false) - подключает WP-Recall шаблон. Описание функции. Функционал шаблонов в плагине WP-Recall и список шаблонов


rcl_format_url(get_author_posts_url($user_ID),'profile'); - Сформирует ссылку в личный кабинет или вкладку кабинета
В зависимости от вывода личного кабинета (шорткодом или через author.php) будет формироваться урл
Верно подставляться к вкладке & или ? (&tab=forum или ?tab=forum)

Вернет:
https://otshelnik-fm.ru/account/?user=1&tab=forum
или
https://otshelnik-fm.ru/author/wawan/?tab=forum


rcl_get_tab_permalink($author_id, 'chat'); - получим урл до кабинета прямиком на нужную вкладку. 1 аргумент - id пользователя в чей кабинет нам надо, 2 аргумент - идентификатор вкладки


rcl_mail($email, $title, $text); - обертка для функции wp_mail, для отправки писем. Описание
$email - эл.почта на которую будет выслано письмо (обязательно)
$title - заголовок письма (обязательно)
$text - текст письма в html-формате (обязательно)


rcl_verify_ajax_nonce(); - проверяет безопасность ajax запроса. Почитать


rcl_bar_add_icon($item_id, $args); - добавить иконку в реколлбар. Описание

Фильтры WP-Recall:

add_filter('rcl_inline_styles', 'function_name', 10, 2); - фильтр первым аргументом отдает $styles, вторым $rgb значение цвета из админки.
Фильтр используется чтобы вставить свои inline стили


add_filter('rcl_tab_chat', 'function_name');
- динамический фильтр. Возвращает контент указанной вкладки ЛК. Формируется так: apply_filters('rcl_tab_'.$this->id, $content);
т.е. в имя фильтра после rcl_tab_ подставляем id вкладки, чей контент хотим получить


add_filter('rcl_public_form','function_name', 10, 2); - добавить свои поля в форму публикации WP-Recall. 1-й аргумент - контент, 2-й - данные записи
и фильтр: rcl_public_form_fields - руководство


add_filter('profile_options_rcl', 'function_name', 10, 2); - когда в настройки профиля надо добавить свой блок. 1-аргумент контент, 2-й аргумент данные пользователя объект $userdata


add_filter('rcl_description_user','function_name',10, 2); - позволяет добавить к блоку автора и в список пользователей дополнительную информацию. 1 аргумент - контент, 2-й идентификатор юзера

Экшены WP-Recall:

add_action('rcl_enqueue_scripts', 'function_name',10); - для регистрации скриптов и стилей.

Внутри используем функции:
rcl_enqueue_script('unic_id_script', rcl_addon_url( 'script.js', __FILE__ ), false, true); - последний аргумент true - грузить в подвале. Описание

rcl_enqueue_style('unic_id_style', rcl_addon_url('style.css', __FILE__), true); - последний аргумент true - грузить в подвале. Описание


add_action('update_post_rcl','function_name',10,2); - хук срабатывает в момент публикации записи из фронтенда. Первый аргумент id записи. 2-й аргумент - массив данных поста


add_action('rcl_cron_daily', 'function_name'); - повесить свою функцию на реколл крон. Выполняется раз в сутки. Описание


add_action('rcl_cron_twicedaily', 'function_name'); - повесить свою функцию на реколл крон. Выполняется два раза в сутки. Описание


add_action('rcl_cron_hourly', 'function_name'); - повесить свою функцию на реколл крон. Выполняется раз в час. Описание

add_action('rcl_confirm_registration', 'function_name',100); - если в опциях WP-Recall стоит подтверждение регистрации - этот хук сработает если регу подтвердили успешно

Если вам есть какую функцию, хук или фильтр из самых вами используемых добавить сюда - пишите в комментариях

2 комментария

Оставьте комментарий

Авторизация
*
*
Регистрация
*
*
*
Настоящим подтверждаю, что я ознакомлен и согласен с условиями политики конфиденциальности
Генерация пароля
Закрыть