Для чего нужны функции 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'));

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

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

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