Приветствую!
Это небольшое обновление кроме устранения ошибок, также добавляет новый функционал, который тут рассмотрим подробнее.
Настройку позволяющую изменять способ загрузки вкладок личного кабинета решено было удалить. Вкладки личного кабинета теперь загружаются в зависимости от поддержки способа загрузки, указанного в коде инициализации самой вкладки. Вкладки для которых указана поддержка 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-файлов из ядра плагина, обеспечив инициализацию необходимых функций через функционал хуков.
Спасибо за очередное обновление!
Маленький вопрос.
Вкладка профиль подгружается на ajax, но при использовании плагина uLogin в ней не подгружаются уже привязанные соц.сети. Когда был выбор, ставили с перезагрузкой страницы. А теперь как можно реализовать такое?
в ближайшее время постараюсь это поправить
Я выходил из ситуации - на странице настроек профиля, как она ajax-ом загрузилась, жал F5. Дикость конечно. но работало 😉
Ух, в заголовке не хватает слов: для разработчика:, т.к. ничего не понятно.
Помнится когда-то обсуждался вопрос с покупкой товара в один клик. Обещали вернуться к нему после 15 версии. Как дела с этим? Планируется подобный функционал?
когда этот функционал появится вы об этом узнаете