Использование функций Enqueue

Использование функций Enqueue

Размещено : 10 Aug, 2021    |    Последнее обновление - 2 года назад   

Для чего нужны функции Enqueue?
Функции enqueue используются для загрузки файлов jаvascript и css. Причина, по которой они добавлены, заключается в том, что многие плагины используют фреймворки jаvascript, такие как JQuery, JQuery-ui и fancybox. Существует высокая вероятность того, что эти файлы jаvascript могут быть загружены несколько раз, и именно здесь вступают в действие функции очереди. Функции enqueue помогают уменьшить вероятность того, что один и тот же файл будет загружен более одного раза.

Функции Enqueue

Функции связанные с jаvascript:

osc_enqueue_script($id) - Enqueue script

osc_remove_script($id) - Удаляет скрипт из очереди, чтобы он не загружался

osc_register_script($id, $url, $dependencies = null) - Добавляет скрипт в загрузку

osc_unregister_script($id) - Удаляет скрипт из очереди, чтобы он не загружался

osc_load_scripts() - Печать HTML-теги для загрузки скриптовФункции связанные с css:

osc_enqueue_style($id, $url) - Добавляет стили в загрузку

osc_remove_style($id) - Удаляет стили из загрузки

osc_load_styles() - Печать HTML-тегов для загрузки стилей

Надлежащая практика именования

Ниже приведена цитата из CONEJO о выборе хорошего имени при регистрации скриптов.

Примеры:


Загрузка скриптов:

osc_register_script('jCarouselLite', osc_base_url(/) . 'oc-content/plugins/carousel_for_osclass/js/jCarouselLite.js', 'jquery');
osc_enqueue_script('jCarouselLite');

Загрузка стилей:

osc_enqueue_style('carouselCss', osc_base_url(/) . 'oc-content/plugins/carousel_for_osclass/css/slideshow.css');

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

Реальный пример:

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

function ex_load_scripts() {
       osc_register_script('jCarouselLite', osc_base_url(/) . 'oc-content/plugins/carousel_for_osclass/js/jCarouselLite.js', 'jquery');
       osc_enqueue_script('jCarouselLite');
       osc_enqueue_style('carouselCss', osc_base_url(/) . 'oc-content/plugins/carousel_for_osclass/css/slideshow.css');
   }

После того как вы добавите этот код, вам нужно будет добавить следующий хук в файл index.php вашего плагина.

   osc_add_hook('init', 'ex_load_scripts');

Для загрузки скрипта на стороне администратора, вы должны использовать этот hook

   osc_add_hook('init_admin', 'ex_load_scripts');

Это все что вам нужно сделать для загрузки jаvascript и css. Работает начиная с версии 3.1. +

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

Предварительно зарегистрированные скрипты


Osclass предварительно регистрирует некоторые из наиболее распространенных файлов jаvascript.

Вот список предварительно зарегистрированных файлов jаvascript.

Here is the list of pre registered jаvascript files.

osc_register_script('jquery', osc_assets_url('/js/jquery.min.js'));

osc_register_script('jquery-ui', osc_assets_url('/js/jquery-ui.min.js'), 'jquery');

osc_register_script('jquery-json', osc_assets_url('/js/jquery.json.js'), 'jquery');

osc_register_script('jquery-treeview', osc_assets_url('/js/jquery.treeview.js'), 'jquery');

osc_register_script('jquery-nested', osc_assets_url('/js/jquery.ui.nestedSortable.js'), 'jquery');

osc_register_script('jquery-validate', osc_assets_url('/js/jquery.validate.min.js'), 'jquery');

osc_register_script('tabber', osc_assets_url('/js/tabber-minimized.js'), 'jquery');

osc_register_script('tiny_mce', osc_assets_url('/js/tiny_mce/tiny_mce.js'));

osc_register_script('colorpicker', osc_assets_url('/js/colorpicker/js/colorpicker.js'));
  • Osclass
  •    Установка Osclass    Обновление Osclass    Импорт локаций    Установка языка    Настройка Cron    Вход в панель управления    Минимальные требования Osclass к хостингу    Основные настройки    Как вывести атрибуты дополнительных полей на главную страницу в Osclass?    Плагины    Категории    Создание страниц    Помощники    Знать об ошибках    Известные ошибки    Увеличение памяти, выделенной для PHP    Рекомендованные программы для работы с Osclass    Резервное копирование данных    Настройка почтового сервера    Перевод почтовых уведомлений    Как создать тему    Как создать плагин    Ошибки отладки PHP    Настройка кэширования в Osclass    Отладка SQL запросов    HCategories.php    HDefines.php    HDatabaseInfo.php    Модель базы данных и диаграмма    Обязательные поля при регистрации    Отображение определенных типов объявлений    Видео по установке Osclass    Видео по установке темы    Изменение формата валюты (цены)    hValidate.php    hUtils.php    hUsers.php    hTranslations.php    hTheme.php    hSecurity.php    Информация о плагине    hPage.php    hErrors.php    hPagination.php    hSearch.php    hSanitize.php    hItems.php    Как перевести темы Osclass
  • Другие категории
  •   Помощники

    Все еще не везет? Мы можем помочь тебе

    Создайте заявку и мы свяжемся с вами в ближайшее время.

    Открыть тикет