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

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

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

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

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

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

'supports'=>array('dialog')

В этом случае, нажатие на кнопку вызова вкладки выведет ее не как обычно, в области вывода контента вкладок, а в диалоговом окне.

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

В js-код плагина осторожно внедряется новый перспективный функционал фильтров и хуков, который можно сравнить с существующими php-функциями WP: do_action() и apply_filters().

Функция регистрации экшна:

rcl_do_action(action_name, args);

первым аргументом принимает наименование регистрируемого экшна, а вторым - массив аргументов или строка.

Функция регистрации обращения к существующему экшну:

rcl_add_action(action_name, function_name);

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

Функция регистрации фильтра контента:

rcl_apply_filters(filter_name, args);

первым аргументом передается наименование регистрируемого фильтра, вторым - массим передаваемых аргументов или строка.

Функция регистрации обращения к существующему фильтру:

rcl_add_filter(filter_name, function_name);

первый аргумент принимает наименование существующего фильтра, второй - наименование функции, осуществляющей фильтрацию передаваемого контента.

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

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

3

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

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

Андрей CS

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