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

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

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

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

Эта версия WP-Recall принесла несколько хороших новостей для разработчиков.

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

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

Плагин докручивает оптимизацию подключения css и javascript-файлов до нового стандарта. Теперь, при вызове контента определенной вкладки через ajax, ядро плагина проверяет запросы на подобные подключения внутри функции формирующей контент вкладки и если такие запросы на подключение были зафиксированы, то они формируются в конце html-кода вызываемого контента. Другими словами, если разработчику дополнения необходимо подключать файлы стилей и скриптов только, когда показывается вкладка его дополнения, то он может смело размещать функции подключения wp_enqueue_*** или rcl_enqueue_*** прямо внутри функции формирующей контент вкладки - эти подключения будут зафиксированы, а файлы будут подключены независимо от способа вывода вкладки - через ajax или без. Таким образом, пропадает необходимость производить подключение файлов дополнения для всего сайта или писать различные проверки и условия подключения.

Также плагин получил свою систему логирования, которая может быть использована администраторами и разработчиками для отслеживания работы некоторых фоновых процессов. Ведение лога можно включить через расширенные настройки плагина, после чего в файл лога будут записываться данные, которые разработчики ядра плагина или действующих дополнений посчитали важными для отслеживания и записи в лог. Это могут быть фоновые процессы, такие как запуск и отработка событий крона, а также данные возникающих ошибок, если такие имели место. Разработчик сам определяет момент записи лога и набор данных, которые эта запись будет содержать. Например, чтобы зафиксировать в логе ошибку возникшую при работе какой то функции, необходимо добавить подобный код:

if($error){
    rcl_add_log('Ошибка при отработке функции', $args);
}

т.е. если ошибка имела место, то вызывается функция rcl_add_log(), в которую первым параметром передается заголовок записи, а вторым, необязательным параметром, передаются данные запроса - это может быть строка, объект или массив.

Запись будет производится в суточный файл лога. Все логи будут храниться в папке /wp-content/wp-recall/logs/.

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

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

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

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

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

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

Так в дополнении профиля были зарегистрированы некоторые дефолтные поля профиля, которыми теперь можно гибко управлять, как и ранее произвольными полями. Например, дефолтные поля "Имя" или "Фамилия" теперь можно предложить к заполнению в форме регистрации наравне с другими произвольными полями.

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

В числе дефолтных полей форма публикации также присутствует поле "Миниатюра публикации". Применение этого поля в форме публикации является обязательным, если к публикации необходимо прикреплять миниатюру. Назначение миниатюры теперь поддерживается не только через загрузчик плагина WP-Recall, но и через медиабиблиотеку WordPress. В форме публикации стало возможным выводить оба загрузчика, а если оба загрузчика исключить из вывода, то поле "Миниатюра публикации" все равно позволит загрузить и назначить изображение через свой отдельный загрузчик.

Созданные произвольные поля формы публикации теперь выводятся в метабоксе на административной странице редактирования записи. Например, так:

 

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

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

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

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

Одним из самых значимых событий этой версии является появление возможности вывода функционала групп на отдельной странице сайта, что значительно упрощает внедрение групп на сайт. Именно такой вариант вывода групп будет предлагаться по-умолчанию для использования. При первоначальной активации дополнения групп на сайте, будет создана страница "Группы" с размещенным внутри нее шорткодом вывода списка групп grouplist, именно на этой странице будет формировать не только вывод общего списка групп, но и вывод контента одиночной группы. При этом прежняя возможность вывода групп через файл taxonomy-groups.php также будет присутствовать, достаточно указать нужный вариант вывода одиночной группы через настройки дополнения.

Следует знать, что при выводе одиночной группы на отдельной странице, имеющей URL, например, /groups/, путь до одиночной группы будет строиться по шаблону:

/groups/?group-id=ID,

где ID - идентификатор выводимой группы.

Вывод общих настроек группы, настроек виджетов группы, а также списка пользователей группы теперь производится в модальном окне и теперь отображаются более корректно. Виджеты группы теперь можно размещать в области "Header", что позволит вывести выбранные виджеты в верхней части одиночной группы.

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

Самым большим изменениям подверглось дополнение Recall Magazine. Оно было полностью переписано и переименовано в Commerce. Теперь дополнение создает и использует другие таблицы со своими данными с совершенно другой структурой.  Перенос данных из старых таблиц в новые производится после переактивации дополнения. Была пересмотрена стратегия развития дополнения, решено взять курс на упрощение и развитие базового функционала, вокруг которого постепенно будет наращиваться все остальное. Некоторый функционал существующий ранее было решено вообще убрать, а что то, наиболее востребованное, было добавлено.

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

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

Таким образом, стало возможным продавать, например, один и тот же чай, но в различных вариациях: упаковками 25 и 50 пакетиков, причем при выборе вариации в 50 пакетиков соответствующим образом менять цену товара или продавать одну и ту же модель футболки, но с разными вариациями размера и цветов, которые пользователь сможет указывать при добавлении товара в корзину.

Функционал вариативности товаров серьезно продвигает возможности дополнения и позволяет легко организовывать продажу сложного ассортимента товаров.

В этой версии, наконец, была реализована возможность прикрепления файлов при оформлении заказа покупателем.

После обновления обязательно проверьте активацию дополнения Commerce и произведите его активацию, если использовали его функционал ранее.

Вот, в такую небольшую статью мне удалось уместить пересказ основных изменений новой версии плагина внутри базовой его части. С новой версией мы получили более совершенный плагин, внутренне более согласованный, с более грамотным и четким ядром, что в конечном счете выполняет главную задачу - становиться более понятным и гибким не только разработчикам, но и простым пользователям. Надеюсь, это получилось.

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

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

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

12

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

не в сети 15 часов

Андрей CS

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