Публикация в группе: Плагин WP-Recall - Личный кабинет на WordPress

Категории группы: Обновления

Приветствую!

Рад сообщить о выходе новой версии плагина Wp-Recall.

Рассмотрим подробнее основные изменения и новшества данной версии.

Основной упор в данной версии был сделан именно на увеличение гибкости плагина и увеличению возможностей для его кастомизации. В плагин было добавлено много новых фильтров и экшнов, которые можно использовать разработчикам дополнений к  Wp-Recall, об одном фильтре стоит рассказать подробнее.

Новый фильтр 'tab_data_rcl' позволяет получать данные вкладок личного кабинета и при желании изменять их под свои нужды, используя именно этот фильтр в этой версии плагина получилось добавить возможность произвольной сортировки вкладок личного кабинета и указания для любой вкладки своего названия. Теперь вы можете легко указывать порядок вывода вкладок личного кабинета указав его в настройках плагина простым перетаскиванием и указать свои названия для любой вкладки.

Выделение_001

Возможности этого фильтра будут использованы в новом дополнении к плагину Wp-Recall для ограничения вывода вкладок личного кабинета в зависимости от типа аккаунта пользователей.

С этой версии плагина начинается использование папки текущего шаблона (темы) вашего сайта. Теперь вы можете создать внутри папки текущей темы папку recall и хранить в ней свои стилевые шаблоны к плагину, кастомизированные шаблоны вывода личного кабинета или групп и файлы отдельных дополнений к плагину Wp-Recall, которые вы не хотите терять при обновлении плагина.

В папке используемого шаблона-темы сайта необходимо создать папку recall с вложенными в нее папками:

recall/templates/

recall/themes/

recall/add-on/

Выделение_003

Если вы создали свой стилевой шаблон к плагину Wp-Recall и не хотите его перезаливать каждый раз при обновлении плагина, то необходимо создать внутри папки recall дополнительную папку themes и закидывать в нее свои стилевые шаблоны. Плагин просканирует данную папку на наличие стилевых шаблонов и предложит их к выбору в своих настройках.

Если вы, каким то образом, изменяете файлы-шаблоны плагина для отображения личного кабинета (cabinet.php), групп (groups.php) или реколлбара (recallbar.php), то лучшим решением проблем с обновлением плагина станет перенос своих кастомизированных шаблонов в папку recall/templates/ размещенной в папке вашей темы. Они начнут подключаться в приоритетном порядке.

Для своих дополнений разработчики также могут создавать свои шаблоны вывода, но подключать эти шаблоны будет правильнее через функцию

include_template_rcl('template.php',__FILE__);

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

Надоело при обновлении плагина Wp-Recall каждый раз переустанавливать все его дополнения, не входящие в базовую версию плагина? Создайте для таких дополнений в папке используемой темы вашего сайта папку recall/add-on/ и плагин начнет работать с дополнениями в этой папке. Плагин просканирует дополнения в своей папке и в папке вашего шаблона и предложит найденные дополнения к активации/деактивации или удалению на странице менеджера дополнений. После того, как вы создадите указанную папку все дополнения загружаемые со страницы менеджера дополнений будут ложится именно в эту папку, игнорируя папку плагина и при следующем обновлении плагина Wp-Recall файлы этих дополнений не будут удаляться, как это было ранее. Вполне возможно, надо будет подправить пути до изображений в стилевых файлах дополнений, если они там будут присутствовать, но это мелочи.

В плагине была произведена оптимизация подключения различных скриптов и хранения данных в БД. Многие скрипты теперь выводятся только тогда, когда это реально необходимо, в личном кабинете или при выводе формы публикации. И если это может только радовать, то новость с изменением хранения данных в БД должна насторожить. Дело в том, что теперь данные произвольных полей типа checkbox будут храниться в виде массива и данные сохраненные пользователями в своем профиле или при публикации статьи через чекбоксы произвольных полей обрабатываться правильно не будут.

Зачем это было сделано и что теперь делать?

Решение о новом типе хранении данных из чекбоксов было вполне оправданным, ранее данные одного чекбокса занимали одну строчку в БД и если пользователь пометил в своем профиле пять чекбоксов, то в БД заполнялось пять строк, теперь же формируется единый массив данных и для хранения использует только одну строчку БД. Как результат - меньше запросов к БД, выше производительность.

Какого то решения возникшей несовместимости данных сохраненных ранее с новым функционалом плагина нет. Необходимо поступать радикально

  • во-первых, удалить из произвольных полей профиля и формы публикации все поля типа "checkbox", это удалит все сохраненные данные полей профиля и полей публикаций типа checkbox из БД
  • во-вторых, создать новые произвольные поля с этим типом и предложить их к заполнению пользователям заново.

Идем далее.

Для разработчиков дополнений также будет полезно узнать о новой функции плагина, которая позволяет выводить в личном кабинете пользователя сервисные сообщения, трех типов: ошибка (error), предупреждение (warning) и успех (success).

add_notify_rcl($text,$type);

Использовать эту функцию необходимо, при выполнении или невыполнении определенных условий в коде дополнения, например, таким образом, осуществляется вывод сообщения после обновления данных профиля профиля:

Выделение_007

add_action('init','add_notify_update_profile');
function add_notify_update_profile(){    
    if (isset($_GET['updated'])) add_notify_rcl('Ваш профиль был обновлен','success');
}

Доработана форма входа и регистрации плагина. Появилась поддержка полноценной капчи в форме регистрации. Устанавливаем себе дополнительный плагин Really Simple CAPTCHA и в форме регистрации автоматически появится капча от этого плагина. Кстати, плагин Really Simple CAPTCHA также используется в популярном плагине Contact Form 7, так что, если у вас уже установлен Contact Form 7, то капча от Really Simple CAPTCHA точно не помешает.

Выделение_004

В форму регистрации было также добавлено дополнительное поле повторного ввода пароля с функцией проверки соответствия введенных данных в качестве пароля на совпадение.

Выделение_005

Уже давно, в форме регистрации, а также в профиле пользователя существовала проблема с обязательными чекбоксами, если они выводились одним произвольным полем. При выводе нескольких чекбоксов через одно произвольное поле профиля помеченного как обязательное необходимо было пометить их все так для прохождения валидации заполнения формы, теперь же, при пометив один чекбокс из группы другие чекбоксы из этой же группы становятся необязательными к заполнению, что существенно повысило удобство  применения чекбоксов в форме регистрации или профиле пользователя.

Был оптимизирован код шорткода userlist плагина, теперь вывод пользователей сайта через этот шорткод стал более корректным, а также поиск по пользовательским полям профиля через дополнение search-profile и при выводе участников отдельной группы.

Была улучшена поддержка плагина Ulogin, теперь в профиле пользователя будет выводится возможность синхронизации всех его аккаунтов в различных соцсетях с аккаунтом пользователя на сайте.

Выделение_006

Существенно доработана форма публикации плагина. Благодаря новому функционалу все данные из формы публикации периодически автоматически сохраняются в браузер пользователя работающего с формой. Даже при полном закрытии данной страницы или ее случайном обновлении все внесенные в форму публикацию данные будут восстановлены, включая не только введенный текст, но и выбранные чекбоксы и пункты выпадающего меню категорий или произвольных полей.

Создателю группы теперь доступно редактирование всех публикаций участников этой группы через полноценный редактор. Он может не только отредактировать любые данные этой публикации, но и полностью удалить ее.

При выводе данных по движению баланса пользователя и его продаж была добавлена постраничная навигация, которая позволяет просматривать всю историю, а не только часть, как это было ранее.

Доработан вывод истории изменения рейтинга пользователя, были добавлены некоторые новые элементы, устранены баги и улучшен интерфейс вывода.

Выделение_002

Вывод всех подписчиков пользователя стал постраничным.

Выделение_008

Подвергся изменениям интерфейс вывода пользовательской переписки в личном чате. Теперь сообщения выводятся в обратном порядке над полем ввода нового сообщения.

Выделение_009

В функционале произвольных полей профиля и формы публикации был расширен список доступных типов произвольных полей. Кроме существующих ранее были добавлены поля типа time, date и number.

Меню_013

 

Поля типа number  и time управляются с помощью встроенных инструментов html5 используемого браузера, т.е. в зависимости от браузера будет предлагаться поле со своими инструментами, ограничивающими ввод данных в это поле. Поле date подключает скрипт datepicker из ядра WordPress и предлагает к выбору нужную дату из появляющегося календаря. Стоит заметить, что подключения скрипта datepicker со своими стилевыми файлами производится только тогда, когда выводится созданное произвольное поле типа date.

Выделение_014

В плагине практически полностью переписан код дополнения магазина, код был оптимизирован, переписан функционал добавления и хранения данных в корзине, подвергся изменению функционал оформления заказа.

Установка плагина на чистый сайт была проверена в режиме дебага, все проявившие себя ошибки типа Notice были отловлены и исправлены во всех дополнениях плагина.

Изменения в этой версии плагина были существенными, поэтому после обновления, также потребуется обновить практически все дополнения, такие как User Files Market и Freelance и тп, запросы на обновление платных дополнений направляйте на почту support@codeseller.ru

72

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

не в сети 32 минуты

Андрей CS

12K
рассматриваю задания
Комментарии: 2744Публикации: 481Регистрация: 30-11--0001Продаж/Покупок: 0/0