Публикация в группе: Otshelnik-Fm - мои работы (код, плагины, дополнения, статьи и руководства)

Категории группы: Работаем с Wp-Recall

Добавлено в закладки: 2

Часто нам нужно получить какие-либо данные и мы пишем функции. Те, возможно, делают запросы в базу данных... А эти данные уже лежат в глобальных переменных и нам всего лишь надо их оттуда взять. В этой заметке я покажу какие глобальные переменные объявляет плагин WP-Recall. А глобальные переменные вордпресса можете увидеть здесь (там же подробно и поясняется что это такое)

Вкратце:
Чтобы получить доступ к глобальной переменной ставим global - пример:
global $rcl_user_URL;
И чтобы распечатать содержимое переменной вы можете использовать php функции:
print_r();
или
var_dump();
Я же использую mu-плагин Otshelnik-Fm Kint и провожу дебаг функцией vda(); - результат ее работы виден только админу.

итак: print_r($rcl_user_URL);
вернет нам http://ваш-сайт/author/wawan/


Список всех глобальных переменных WP-Recall:

Информация актуальна для версии WP-Recall 16.6.5

Ниже, информация разбита на зависимости - глобальные переменные из ядра WP-Recall, и глобальные переменные определяемые при активации базовых дополнений. А в самом низу я привел список найденных мною переменных, но с областью видимости я не разобрался с первого раза (да и в моей практике с ними и не приходилось работать) - если вы по ним дадите информацию - внесу в справочник.


Глобальные переменные из ядра:

$active_addons - (массив)
Содержит данные о активированных аддонах.
Информация из файла info.txt, id и полный путь на сервере до дополнения

Переменная доступна при событии хука «init» (action) на всех страницах (в админке и в фронтенде)
Выводит данные хранящиеся в сериализованном массиве в таблице wp_options в опции rcl_active_addons

$user_LK - (число)
Содержит id юзера, в чьем кабинете находимся.

Переменная доступна при событии хука «init» в фронтенде.
На страницах сайта возвращает число: 0, в кабинете пользователя возвращает число: id пользователя чей кабинет просматриваем

$rcl_office - (число)
Тоже что и $user_LK выше - получает id юзера, в чьем кабинете находимся.

Переменная доступна при событии хука «init» в фронтенде.
В отличии от переменной $user_LK - определена только в кабинете пользователя, возвращает число: id пользователя чей кабинет просматриваем

$rcl_user_URL - (строка)
Содержит урл до личного кабинета текущего юзера

Переменная доступна при событии хука «init» в фронтенде.
В зависимости от вывода кабинета шорткодом или через author.php - получает корректную ссылку на кабинет

Через author.php:

Через шорткод:

Гость видит только отрезок:

или:

$rcl_options - (массив)
Содержит данные о всех глобальных настройках реколл

Переменная доступна при событии хука «init» (action) на всех страницах (в админке и в фронтенде)
Выводит данные хранящиеся в сериализованном массиве в таблице wp_options в опции rcl_global_options

$rcl_current_action - (строка)
Содержит время активности текущего авторизованного юзера

Переменная доступна при событии хука «init» в фронтенде.
время в mysql формате из таблицы wp_rcl_user_action
В бд оно записывается исходя из настроек активности пользователя (WP-Recall - расширенные настройки - Таймаут активности) по умолчанию 10 минут

$rcl_userlk_action - (строка)
Содержит дату последней активности пользователя, чей ЛК просматриваете

Переменная доступна в личном кабинете пользователя
Дата хранится в формате mysql в таблице wp_rcl_user_action
В бд оно записывается исходя из настроек активности пользователя (WP-Recall - расширенные настройки - Таймаут активности) по умолчанию 10 минут

Если это спам регистрация или пользователь не подтвердил регистрацию - вернет: 0000-00-00 00:00:00

$rcl_tabs - (массив)
Содержит данные вкладок (табов) личного кабинета

Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)

$rcl_blocks - (массив)
Содержит данные контентных блоков областей actions и details
Переменная доступна при событии хука «init» в фронтенде.

$rcl_template - (строка)
Содержит слаг (имя папки) текущего шаблона ЛК

Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)

$rcl_bar - (массив)
Содержит данные правой части реколлбара (иконки, меню автора)

Переменная доступна при событии хука «wp_footer» в фронтенде.
Определяется только если в настройках WP-Recall указан вывод реколлбара

$rcl_user - (объект)
Содержит параметры пользователя выводимого через шорткод userlist

Определен везде, где используется шаблон user-rows.php
Для просмотра данных распечатывайте переменную из файла шаблона вывода пользователя, например: user-rows.php
Смотрите вывод на странице работы шорткода userlist (вывод всех пользователей)
Содержит данные пользователя - включая поля профиля

В user-cards.php содержит:

И в остальных темплейтах использующих юзерлист шорткод

$rcl_users_set - (объект)
Содержит параметры настроек шорткода userlist

Область видимости - так же как у переменной выше $rcl_user - везде где используется шорткод userlist

$rcl_avatar_sizes - (массив)
Содержит зарегистрированные размеры аватарок

Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)
По этим размерам нарезаются размеры аватарок по пути /wp-content/uploads/rcl-uploads/avatars/
т.е. для админа к примеру у нас будет 4 картинки:
1.jpg
1-70.jpg
1-150.jpg
1-300.jpg

$wprecall - (объект)
Содержит данные плагина: версию, дочерние (зависимые) дополнения и их родителя и прочие необходимые для работы данные

Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)

$addon - (объект)
Содержит данные одного дополнения со страницы "Репозиторий" в админке

Переменная доступна везде, где используется шаблон add-on-card.php
Для просмотра данных распечатывайте переменную из файла шаблона add-on-card.php
И перейдите на страницу "Репозиторий" в админке.


Дополнение групп (Group)

$rcl_group_widgets - (массив объектов)
Содержит данные виджетов группы. ID виджета, Название, класс, размещение, статус

Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)

$rcl_group - (объект)
Содержит ID группы, имя, id администратора, статус группы, количество участников группы роль текущего пользователя и другие данные

Переменная доступна везде, где используется шаблон single-group.php и group-list.php
Для просмотра данных распечатывайте переменную из файла шаблона вывода группы single-group.php
И перейдите на страницу группы.

Содержимое шаблона group-list.php (вывод смотрите, соответственно, в списке всех групп)

$rcl_group_area - (массив)
Содержит зарегистрированные области в группе (шапка, сайдбар, контент, футер)

Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)


Дополнение магазина (Commerce)

$rmag_options - (массив)
Содержит настройки магазина: e-mail админа, id страницы с шорткодом корзины, валюту сайта, настройки похожих товаров и прочие параметры

Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)

$chartData - (массив)
Содержит данные графика "История заказов" в админке сайта - в магазине, на странице "Заказы"

Переменная доступна везде, где используется шаблон chart.php
Для просмотра данных распечатывайте переменную из файла-шаблона chart.php
И перейдите в админке "Rcl Commerce" - "Заказы".

$Cart - (объект)
Содержит данные товаров в корзине их количество, цену, общее количество и общую сумму заказа

Переменная доступна везде, где используется шаблон магазина cart.php
Для просмотра данных распечатывайте переменную из файла-шаблона cart.php
И перейдите на страницу корзины
Пустая корзина ничего вам не выведет.

$rcl_orders - (массив объектов)
Содержит данные всех заказов (вкладка «Заказы» в ЛК)

Переменная доступна везде, где используется шаблон orders-history.php
Для просмотра данных распечатывайте переменную из файла-шаблона orders-history.php
И перейдите в ЛК на вкладку «Заказы».

$rclOrder - (объект)
Содержит данные одного заказа (вкладка "Заказы" в ЛК)

Переменная доступна везде, где используется шаблон order.php
Для просмотра данных распечатывайте переменную из файла-шаблона order.php
И перейдите в ЛК на вкладку "Заказы" и в отдельный заказ.


Дополнение публикаций (PublicPost)

$rcl_postlist - (массив)
Содержит массив вкладки "публикации"

Заголовки дочерних вкладок вкладки "Публикации", идентификатор, сортировка, тип записи
Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)

$rcl_post_bar - (массив)
Содержит данные постбара (верхняя панель в одиночной записи)

Переменная доступна при событии хука «wp» в фронтенде в одиночной записи.
Определяется если для автора публикации любого типа (записи типа post, публикации группы, публикация товара)
Содержит ссылку на редактирование и иконку редактирования


Дополнение форума (Prime Forum)

$PrimeActions - (массив)
Содержит коллбек функции (обработчики) к ajax действиям Prime Forum
Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)


Дополнение рейтинга (Rating System)

$rcl_rating_types - (массив)
Содержит дополнительные зарегистрированные типы рейтинга. Содержит тип рейтинга, название, иконку, количество баллов и др.

Один момент - содержит только дополнительные зарегистрированные типы рейтинга. Не содержит рейтинг комментариев и записей.
Переменная доступна при событии хука «init» на всех страницах (в админке и в фронтенде)

$ratings - (массив)
Содержит данные рейтинга записи

Переменная доступна везде, где используется шаблон posts-list.php
Для просмотра данных распечатывайте переменную из файла-шаблона posts-list.php
И перейдите на страницу ЛК "Публикации" - если публикация имеет рейтинг - то в массиве будет id записи и ее значение рейтинга

$rating - (объект)
Содержит данные из шорткода "ratinglist"

Переменная доступна везде, где используется шаблоны rating-comment.php и rating-post.php
Именно они выводят контент из шорткода "ratinglist"
Для просмотра данных распечатывайте переменную из файла-шаблона rating-comment.php
И перейдите на страницу где расположен шорткод


Дополнение подписок (Feed)

$rcl_feed - (объект)
Содержит данные одного события фида

Переменная доступна везде, где используется шаблон feed-post.php
Для просмотра данных распечатывайте переменную из файла-шаблона feed-post.php
И перейдите на страницу фида


Прочие глобальные переменные

Остальные глобальные переменные

Глобальные переменные ниже я не отловил с помощью шаблонов, хуков init в фронтенде и админке.
Разбираться в зависимостях - когда они выводятся - у меня не хватило терпения.
Если у вас есть такая информация - добавляйте ее в комментариях по шаблону, который я использовал при комментировании глобальных переменных выше.
$rcl_tab

// магазин:
$status
$Rcl_History_Orders
$chartArgs

//
$comments_array

// prime forum:
$Prime_Themes_Manager
$PrimeQuery
$PrimeGroup
$PrimeForum
$PrimeTopic
$PrimePost
$PrimeShorts
$PrimeUser

//
$rcl_box

$Rcl_Payments_History
$rcl_payments

$Rcl_Addons_Manager

$Rcl_Templates_Manager

$rcl_styles
$rcl_scripts

$rcl_error - в админке возвращает пустую строку

$group_id

$typeform

$rcl_chat - объект настроек чата
$order - магазин
$productlist - массив. Данные шорткода productlist. Но похоже уже рудимент

p.s. Совет: используйте глобальные переменные для того чтобы получить данные, а не изменять их. Для изменения данных лучше воспользоваться вордпресс фильтрами в плагине. Я уверен - в коде плагина он в 90% уже есть.

p.p.s. полезная коллекция сниппетов по плагину - здесь
Документация и F.A.Q. собранный мною - здесь

3

Автор публикации

672

Вся лента по разработке здесь: http://across-ocean.otshelnik-fm.ru/

и список моих работ к плагину WP-Recall

Комментарии: 1147Публикации: 131Регистрация: 27-01-2013Продаж/Покупок: 6284/132