wp_enqueue_script()
Правильно подключает скрипт (JavaScript файл) на страницу.
Использовать эту функцию для подключения js файлов важно, потому что так вы в дальнейшем сможете без лишних проблем объединять JS файлы в один. Также в некоторых случаях избавитесь от конфликтов скриптов, когда зависимый скрипт подключается до основного (того от которого он зависит).
Функция добавляет скрипт, только если он еще не был добавлен и другие скрипты от которых он зависит, зарегистрированы. Зависимые скрипты добавляются автоматически.
ВАЖНО! Это ошибка начинающих разработчиков. Функция ничего не выведет, если в теме не используется wp_head() или wp_footer(). Именно в момент вызова этих функций срабатывает хук, который добавляет скрипты.
Также эта функция должна вызываться до wp_footer(), иначе скрипты вообще не будут подключены.
Если скрипт уже зарегистрирован с помощью wp_register_script(), то для его подключения в этой функции нужно указать только идентификатор скрипта (в первом параметре):
// jquery регистрируется в WP по умолчанию.
// Поэтому для его подключения достаточно одной строки:
wp_enqueue_script('jquery');
Если скрипт не зарегистрирован, то его можно зарегистрировать и подключить одновременно:
wp_enqueue_script( 'newscript', get_template_directory_uri() . '/js/custom_script.js');
С версии 3.3. wp_enqueue_script() можно вызывать во время генерации страницы. В этом случае вызываемый скрипт будет подключен в подвале, в момент срабатывания события wp_footer.
Эту функцию принято вызывать во время следующих событий (хуков):
- wp_enqueue_scripts — Позволяет добавить скрипты и стили на фронт-энде в очередь на подключение.
- admin_enqueue_scripts — Позволяет добавить скрипты и стили в очередь на подключение для всех страниц админ-панели.
- login_enqueue_scripts — Позволяет подключить скрипты и стили на странице входа wp-login.php.
- enqueue_block_assets — Позволяет добавить общие для фронта и бэка стили и скрипты для редактора блоков (в том числе внутри iframe).
- enqueue_block_editor_assets — Позволяет добавить стили или скрипты в редактор блоков (Гутенберг) на страницу редактирования записи.
-
Используйте wp_script_add_data() — когда нужно подключить скрипт с условием, например,
<!--[if lt IE 9]>...<![endif]-->. -
Используйте wp_add_inline_script() — когда нужно добавить JS код из PHP.
- Используйте wp_dequeue_script() — когда нужно отключить подключение скрипта.
Возвращает
null. Ничего не возвращает.
Шаблон использования
//add_action( 'admin_enqueue_scripts', 'my_enqueue_scripts' );
//add_action( 'login_enqueue_scripts', 'my_enqueue_scripts' );
//add_action( 'enqueue_block_assets', 'my_enqueue_scripts' );
//add_action( 'enqueue_block_editor_assets', 'my_enqueue_scripts' );
add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' );
function my_scripts_method(){
wp_enqueue_script( 'newscript', get_template_directory_uri() . '/js/custom_script.js');
}
Использование
wp_enqueue_script( $handle, $src, $deps, $ver, $args );
- $handle(строка) (обязательный)
Название скрипта (рабочее название). Строка в нижнем регистре.
Если строка содержит знак вопроса (?):
scriptaculous?v=1.2, то предшествующая часть будет названием скрипта, а все что после будет добавлено в УРЛ как параметры запроса. Так можно указывать версию подключаемого скрипта.- $src(строка)
УРЛ файла скрипта. Например:
http://example.com/wp-content/themes/my-theme/my-theme-script.js.Этот параметр необходим только, когда скрипт не зарегистрирован и WordPress еще не знает об этом скрипте, смотрите функцию wp_register_script().
Не нужно писать УРЛ жестко, он должен определяться динамически. Для этого используйте функции получения URL:
- plugins_url() - для плагинов
- get_template_directory_uri() - для тем.
Ссылки на внешние скрипты можно указывать без указания протокола:
//otherdomain.com/js/their-script.js.Уже зарегистрированные в WP скрипты смотрите ниже в этой статье.
По умолчанию: ''
- $deps(массив)
- Массив названий скриптов от которых зависит этот скрипт; скрипты которые должны быть загружены перед этим скриптом. Этот параметр необходим только в случае, если WordPress еще не знает об этом скрипте.
По умолчанию:[] - $ver(строка)
Строка указывающая версию скрипта, если она у него есть. Этот параметр используется для того чтобы удостовериться, что клиент получил верную версию скрипта, а не из кеша.
Если параметр не указан, то в качестве версии скрипта будет использована версия WordPress.
Если указать
null, то никакая версия не будет добавлена.По умолчанию: false
- $args(array)
Параметры подключения скрипта. Поддерживаются два параметра:
-
in_footer(bool) - По умолчанию: false. Нужно ли выводить скрипт в подвале footer. По умолчанию скрипты располагаются в head части. Если этот параметр будет равен true скрипт будет выводиться конце body тега.
Если из-за зависимости от других скриптов нет возможности подключить текущий скрипт в подвале, то значение этой переменой будет проигнорировано и скрипт будет подключен в head.
В теме должна вызываться функция wp_footer() перед закрывающим тегом
</body>.Ведет себя так же, как и предыдущая (до WP 6.3) реализация параметра $in_footer.
-
strategy(string) - По умолчанию:
''. Указывает как (по какой стратегии) должен загружаться скрипт. Доступно два значения:deferиasyncдля отложенных и асинхронных скриптов соответственно.По умолчанию используется блокирующее поведение, это сохраняет обратную совместимость с версиями WP ниже 6.3.
До WP 6.3 этот параметр назывался
$in_footerи принимал true/false.
С версии 6.3 параметр стал принимать массив данных, а прежний параметр$in_footerбыл перенесен в элемент массиваin_footer:[ 'in_footer' => true, 'strategy' => 'async', ]
Подробнее про это изменение читайте здесь.
По умолчанию: []
-
Примеры
#1 Загружаем базовый скрипт WordPress с нестандартного адреса.
Допустим, вы хотите вместо библиотеки jQuery из состава WordPress подключить её CDN-копию. Добавьте этот код в файл functions.php активной темы:
add_action( 'wp_enqueue_scripts', 'my_scripts_method', 11 );
function my_scripts_method() {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
wp_enqueue_script( 'jquery' );
}
Используя фильтр wp_enqueue_scripts (вместо фильтра init, на который ссылаются некоторые статьи на сторонних сайтах), мы избегаем регистрации альтернативной версии jQuery на страницах админки, что, среди прочего, снижает риск нарушения работы редактора записей.
#2 Динамическое определение версии файла
Чтобы при изменении файла, URL файла отличался и он загрузился в браузер как новый, а не брался из кэша, можно указать версию файла динамически на основе времени изменения файла:
add_action('wp_enqueue_scripts', 'my_scripts_method');
function my_scripts_method() {
wp_enqueue_script('custom-script',
get_template_directory_uri() . '/js/custom_script.js',
['jquery'],
filemtime( get_theme_file_path('js/custom_script.js') )
);
}
Производительность filemtime() очень высока - на SSD диске 0,5 сек на 50к итераций - это очень быстро!
#3 Регистрируем и подключаем свой скрипт, зависящий от jQuery
Зарегистрируем и добавим новый скрипт, который зависит от jquery (это также вызовет загрузку jquery на странице):
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
function my_scripts_method() {
$script_url = plugins_url( '/js/newscript.js', __FILE__ );
wp_enqueue_script('custom-script', $script_url, ['jquery'] );
}
#4 Загружаем скрипты плагина только на его страницах
add_action( 'admin_menu', 'my_plugin_admin_menu' );
function my_plugin_admin_menu() {
// Регистрируем страницу плагина
$page = add_submenu_page(
'edit.php', // Родительская страница меню
__( 'Мой плагин', 'myPlugin' ), // Название пункта меню
__( 'Мой плагин', 'myPlugin' ), // Заголовок страницы
'manage_options', // Возможность, определяющая уровень доступа к пункту
'my_plugin-options', // Ярлык (часть адреса) страницы плагина
'my_plugin_manage_menu' // Функция, которая выводит страницу
);
// Используем зарегистрированную страницу для загрузки скрипта
add_action( 'load-' . $page, 'my_plugin_admin_scripts' );
}
## Эта функция будет вызвана только на странице плагина, подключаем скрипт
function my_plugin_admin_scripts() {
wp_enqueue_script( 'my-plugin-script', plugins_url('/script.js', __FILE__) );
}
function my_plugin_manage_menu() {
// Выводим страницу плагина
}
#5 Подгружаем скрипт только для нужных типов страниц
Допустим нам нужно использовать условные теги, чтобы подгрузить свой скрипт scriptaculous. Тогда мы может подключиться на хук wp, в момент его срабатывания мы уже можем использовать условные теги, поэтому через него мы можем определить для каких типов страниц подключить скрипт, а для каких нет:
add_action('wp', 'add_my_script_where_it_necessery');
function add_my_script_where_it_necessery(){
if( is_single() )
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
}
function my_scripts_method() {
$script_url = plugins_url( '/js/newscript.js', __FILE__ );
wp_enqueue_script('newscript', $script_url, ['scriptaculous'] );
}
#6 Загружаем штатный скрипт scriptaculous.
// На внешней части сайта (в теме оформления)
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
function my_scripts_method() {
wp_enqueue_script( 'scriptaculous' );
}
#7 Загружаем в теме скрипт, зависящий от скрипта WordPress
Часто требуется, чтобы перед JavaScript-файлами, поставляемыми с темой оформления, был загружен другой JavaScript-файл. WordPress предоставляет API, позволяющий при регистрации скрипта указать его зависимости. Например, тема с приведённым ниже кодом требует, чтобы перед скриптом custom_script.js была загружена библиотека jQuery:
add_action('wp_enqueue_scripts', 'my_scripts_method');
function my_scripts_method() {
wp_enqueue_script('custom-script',
get_template_directory_uri() . '/js/custom_script.js',
['jquery']
);
}
#8 Как подключить jquery из Google
Читайте в отдельной статье.
#9 Удаление версии скрипта или файла стилей из URL
При регистрации скрипта ему указывается версия (текущая версия вордпресса, по умолчанию): /wp-includes/css/dashicons.min.css?ver=4.9. Такую версию можно вырезать из ссылки на скрипт или файл стилей:
Удаление всех версия у всех скриптов (и стилей):
// Удаляем версию скриптов
add_filter( 'script_loader_src', '_remove_script_version' );
// Удаляем версию стилей
add_filter( 'style_loader_src', '_remove_script_version' );
function _remove_script_version( $src ){
$parts = explode( '?', $src );
return $parts[0];
}
Удаление только версий WordPress:
## удаляет версию WP из преданного URL у скриптов и стилей
add_filter( 'script_loader_src', 'hb_remove_wp_version_from_src' );
add_filter( 'style_loader_src', 'hb_remove_wp_version_from_src' );
function hb_remove_wp_version_from_src( $src ) {
global $wp_version;
parse_str( parse_url( $src, PHP_URL_QUERY ), $query );
if ( ! empty($query['ver']) && $query['ver'] === $wp_version ) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
Скрипты, которые идут в комплекте с WP
WordPress регистрирует многие популярные скрипты по дефолту (из коробки), т.е такой скрипт существует по умолчанию в WP. Чтобы добавить такой скрипт на страницу, нужно использовать его идентификатор в wp_enqueue_script( $id ).
Список собран с версии WP 5.2.2
Актуальный на сегодня список можно посмотреть в коде функции wp_default_scripts().
| Название | ID | Зависимость |
|---|---|---|
| utils | ||
| WP Common | common | jquery, hoverIntent, utils |
| wp-a11y | jquery |
|
| Simple AJAX Code-Kit | sack | |
| QuickTags | quicktags | |
| ColorPicker (deprecated) | colorpicker | prototype |
| editor | utils, jquery |
|
| clipboard.js | clipboard | |
| wp-fullscreen-stub | ||
| WordPress AJAX Response | wp-ajax-response | jquery |
| wp-api-request | jquery |
|
| wp-pointer | jquery-ui-widget, jquery-ui-position |
|
| Autosave | autosave | heartbeat |
| Heartbeat | heartbeat | jquery, wp-hooks |
| wp-auth-check | heartbeat |
|
| List Manipulation | wp-lists | wp-ajax-response, jquery-color |
| prototype | ||
| scriptaculous-root | prototype |
|
| scriptaculous-builder | scriptaculous-root |
|
| scriptaculous-dragdrop | scriptaculous-builder, scriptaculous-effects |
|
| scriptaculous-effects | scriptaculous-root |
|
| scriptaculous-slider | scriptaculous-effects |
|
| scriptaculous-sound | scriptaculous-root |
|
| scriptaculous-controls | scriptaculous-root |
|
| scriptaculous | scriptaculous-dragdrop, scriptaculous-slider, scriptaculous-controls |
|
| cropper | scriptaculous-dragdrop |
|
| jQuery | jquery | jquery-core, jquery-migrate |
| jquery-core | ||
| jquery-migrate | ||
| jQuery UI Core | jquery-ui-core | jquery |
| jQuery UI Effects | jquery-effects-core | jquery |
| jQuery UI Effects - Blind | jquery-effects-blind | jquery-effects-core |
| jQuery UI Effects - Bounce | jquery-effects-bounce | jquery-effects-core |
| jQuery UI Effects - Clip | jquery-effects-clip | jquery-effects-core |
| jQuery UI Effects - Drop | jquery-effects-drop | jquery-effects-core |
| jQuery UI Effects - Explode | jquery-effects-explode | jquery-effects-core |
| jQuery UI Effects - Fade | jquery-effects-fade | jquery-effects-core |
| jQuery UI Effects - Fold | jquery-effects-fold | jquery-effects-core |
| jQuery UI Effects - Highlight | jquery-effects-highlight | jquery-effects-core |
| jquery-effects-puff | jquery-effects-core, jquery-effects-scale |
|
| jQuery UI Effects - Pulsate | jquery-effects-pulsate | jquery-effects-core |
| jQuery UI Effects - Scale | jquery-effects-scale | jquery-effects-core, jquery-effects-size |
| jQuery UI Effects - Shake | jquery-effects-shake | jquery-effects-core |
| jquery-effects-size | jquery-effects-core |
|
| jQuery UI Effects - Slide | jquery-effects-slide | jquery-effects-core |
| jQuery UI Effects - Transfer | jquery-effects-transfer | jquery-effects-core |
| jQuery UI Accordion | jquery-ui-accordion | jquery-ui-core, jquery-ui-widget |
| jQuery UI Autocomplete | jquery-ui-autocomplete | jquery-ui-menu, wp-a11y |
| jQuery UI Button | jquery-ui-button | jquery-ui-core, jquery-ui-widget |
| jQuery UI Datepicker | jquery-ui-datepicker | jquery-ui-core |
| jQuery UI Dialog | jquery-ui-dialog | jquery-ui-resizable, jquery-ui-draggable, jquery-ui-button, jquery-ui-position |
| jQuery UI Draggable | jquery-ui-draggable | jquery-ui-mouse |
| jQuery UI Droppable | jquery-ui-droppable | jquery-ui-draggable |
| jQuery UI Menu | jquery-ui-menu | jquery-ui-core, jquery-ui-widget, jquery-ui-position |
| jQuery UI Mouse | jquery-ui-mouse | jquery-ui-core, jquery-ui-widget |
| jQuery UI Position | jquery-ui-position | jquery |
| jQuery UI Progressbar | jquery-ui-progressbar | jquery-ui-core, jquery-ui-widget |
| jQuery UI Resizable | jquery-ui-resizable | jquery-ui-mouse |
| jQuery UI Selectable | jquery-ui-selectable | jquery-ui-mouse |
| jQuery UI Selectmenu | jquery-ui-selectmenu | jquery-ui-menu |
| jQuery UI Slider | jquery-ui-slider | jquery-ui-mouse |
| jQuery UI Sortable | jquery-ui-sortable | jquery-ui-mouse |
| jQuery UI Spinner | jquery-ui-spinner | jquery-ui-button |
| jQuery UI Tabs | jquery-ui-tabs | jquery-ui-core, jquery-ui-widget |
| jQuery UI Tooltips | jquery-ui-tooltip | jquery-ui-core, jquery-ui-widget, jquery-ui-position |
| jQuery UI Widget | jquery-ui-widget | jquery |
| jQuery Form | jquery-form | jquery |
| jQuery Color | jquery-color | jquery |
| jQuery Schedule | schedule | jquery |
| jquery-query | jquery |
|
| jquery-serialize-object | jquery |
|
| jQuery Hotkeys | jquery-hotkeys | jquery |
| jquery-table-hotkeys | jquery, jquery-hotkeys |
|
| jquery-touch-punch | jquery-ui-widget, jquery-ui-mouse |
|
| jQuery Suggest | suggest | jquery |
| imagesloaded | ||
| Masonry (native Javascript) | masonry | imagesloaded |
| jQuery Masonry | jquery-masonry | jquery, masonry |
| ThickBox | thickbox | jquery |
| Jcrop | jcrop | jquery |
| SWFObject | swfobject | |
| moxiejs | ||
| Plupload Core | plupload | moxiejs |
| Plupload All Runtimes | plupload-all | plupload |
| Plupload HTML5 | plupload-html5 | plupload |
| Plupload Flash | plupload-flash | plupload |
| Plupload Silverlight | plupload-silverlight | plupload |
| Plupload HTML4 | plupload-html4 | plupload |
| plupload-handlers | plupload, jquery |
|
| wp-plupload | plupload, jquery, json2, media-models |
|
| SWFUpload | swfupload | |
| swfupload-all | swfupload |
|
| SWFUpload Handlers | swfupload-handlers | swfupload-all, jquery |
| Threaded Comments | comment-reply | |
| JSON for JS | json2 | |
| Underscore js | underscore | |
| Backbone js | backbone | underscore, jquery |
| wp-util | underscore, jquery |
|
| wp-sanitize | jquery |
|
| wp-backbone | backbone, wp-util |
|
| revisions | wp-backbone, jquery-ui-slider, hoverIntent |
|
| imgareaselect | jquery |
|
| mediaelement | jquery, mediaelement-core, mediaelement-migrate |
|
| mediaelement-core | ||
| mediaelement-migrate | ||
| mediaelement-vimeo | mediaelement |
|
| MediaElement.js (WP 3.6+) | wp-mediaelement | mediaelement |
| wp-codemirror | ||
| csslint | ||
| esprima | ||
| jshint | esprima |
|
| jsonlint | ||
| htmlhint | ||
| htmlhint-kses | htmlhint |
|
| code-editor | jquery, wp-codemirror, underscore |
|
| wp-theme-plugin-editor | wp-util, wp-sanitize, jquery, jquery-ui-core, wp-a11y, underscore |
|
| wp-playlist | wp-util, backbone, mediaelement |
|
| zxcvbn-async | ||
| Password Strength Meter | password-strength-meter | jquery, zxcvbn-async |
| user-profile | jquery, password-strength-meter, wp-util |
|
| language-chooser | jquery |
|
| user-suggest | jquery-ui-autocomplete |
|
| admin-bar | ||
| wplink | jquery, wp-a11y |
|
| wpdialogs | jquery-ui-dialog |
|
| Word Count | word-count | |
| Media Upload | media-upload | thickbox, shortcode |
| jQuery HoverIntent | hoverIntent | jquery |
| customize-base | jquery, json2, underscore |
|
| customize-loader | customize-base |
|
| customize-preview | wp-a11y, customize-base |
|
| customize-models | underscore, backbone |
|
| customize-views | jquery, underscore, imgareaselect, customize-models, media-editor, media-views |
|
| customize-controls | customize-base, wp-a11y, wp-util, jquery-ui-core |
|
| customize-selective-refresh | jquery, wp-util, customize-preview |
|
| customize-widgets | jquery, jquery-ui-sortable, jquery-ui-droppable, wp-backbone, customize-controls |
|
| customize-preview-widgets | jquery, wp-util, customize-preview, customize-selective-refresh |
|
| customize-nav-menus | jquery, wp-backbone, customize-controls, accordion, nav-menu |
|
| customize-preview-nav-menus | jquery, wp-util, customize-preview, customize-selective-refresh |
|
| wp-custom-header | wp-a11y |
|
| accordion | jquery |
|
| shortcode | underscore |
|
| media-models | wp-backbone |
|
| wp-embed | ||
| media-views | utils, media-models, wp-plupload, jquery-ui-sortable, wp-mediaelement, wp-api-request |
|
| media-editor | shortcode, media-views |
|
| media-audiovideo | media-editor |
|
| mce-view | shortcode, jquery, media-views, media-audiovideo |
|
| wp-api | jquery, backbone, underscore, wp-api-request |
|
| react | wp-polyfill |
|
| react-dom | react |
|
| moment | ||
| lodash | ||
| wp-polyfill-fetch | ||
| wp-polyfill-formdata | ||
| wp-polyfill-node-contains | ||
| wp-polyfill-element-closest | ||
| wp-polyfill | ||
| wp-tinymce-root | ||
| wp-tinymce | wp-tinymce-root |
|
| wp-tinymce-lists | wp-tinymce |
|
| wp-api-fetch | wp-polyfill, wp-i18n, wp-url, wp-hooks |
|
| wp-annotations | wp-data, wp-hooks, wp-i18n, wp-polyfill, wp-rich-text |
|
| wp-autop | wp-polyfill |
|
| wp-blob | wp-polyfill |
|
| wp-blocks | wp-autop, wp-blob, wp-block-serialization-default-parser, wp-data, wp-dom, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-polyfill, wp-shortcode, lodash |
|
| wp-block-library | editor, lodash, wp-api-fetch, wp-autop, wp-blob, wp-block-editor, wp-blocks, wp-components, wp-compose, wp-core-data, wp-data, wp-date, wp-editor, wp-element, wp-html-entities, wp-i18n, wp-keycodes, wp-polyfill, wp-url, wp-viewport, wp-rich-text |
|
| wp-block-serialization-default-parser | ||
| wp-block-editor | lodash, wp-a11y, wp-blob, wp-blocks, wp-components, wp-compose, wp-core-data, wp-data, wp-dom, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-rich-text, wp-token-list, wp-url, wp-viewport, wp-wordcount |
|
| wp-components | lodash, moment, wp-a11y, wp-api-fetch, wp-compose, wp-dom, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-polyfill, wp-rich-text, wp-url |
|
| wp-compose | lodash, wp-element, wp-is-shallow-equal, wp-polyfill |
|
| wp-core-data | lodash, wp-api-fetch, wp-data, wp-deprecated, wp-polyfill, wp-url |
|
| wp-data | lodash, wp-compose, wp-element, wp-is-shallow-equal, wp-polyfill, wp-priority-queue, wp-redux-routine |
|
| wp-date | moment, wp-polyfill |
|
| wp-deprecated | wp-polyfill, wp-hooks |
|
| wp-dom | lodash, wp-polyfill |
|
| wp-dom-ready | wp-polyfill |
|
| wp-edit-post | jquery, lodash, postbox, media-models, media-views, wp-a11y, wp-api-fetch, wp-block-editor, wp-block-library, wp-blocks, wp-components, wp-compose, wp-core-data, wp-data, wp-dom-ready, wp-editor, wp-element, wp-embed, wp-i18n, wp-keycodes, wp-notices, wp-nux, wp-plugins, wp-polyfill, wp-url, wp-viewport |
|
| wp-editor | lodash, wp-api-fetch, wp-blob, wp-block-editor, wp-blocks, wp-components, wp-compose, wp-core-data, wp-data, wp-date, wp-deprecated, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-keycodes, wp-notices, wp-nux, wp-polyfill, wp-url, wp-viewport, wp-wordcount |
|
| wp-element | wp-polyfill, react, react-dom, lodash, wp-escape-html |
|
| wp-escape-html | wp-polyfill |
|
| wp-format-library | wp-block-editor, wp-components, wp-editor, wp-element, wp-i18n, wp-keycodes, wp-polyfill, wp-rich-text, wp-url |
|
| wp-hooks | wp-polyfill |
|
| wp-html-entities | wp-polyfill |
|
| wp-i18n | wp-polyfill |
|
| wp-is-shallow-equal | wp-polyfill |
|
| wp-keycodes | lodash, wp-polyfill, wp-i18n |
|
| wp-list-reusable-blocks | lodash, wp-api-fetch, wp-components, wp-compose, wp-element, wp-i18n, wp-polyfill |
|
| wp-notices | lodash, wp-a11y, wp-data, wp-polyfill |
|
| wp-nux | wp-element, lodash, wp-components, wp-compose, wp-data, wp-i18n, wp-polyfill, lodash |
|
| wp-plugins | lodash, wp-compose, wp-element, wp-hooks, wp-polyfill |
|
| wp-priority-queue | ||
| wp-redux-routine | wp-polyfill |
|
| wp-rich-text | lodash, wp-data, wp-escape-html, wp-polyfill |
|
| wp-shortcode | wp-polyfill, lodash |
|
| wp-token-list | lodash, wp-polyfill |
|
| wp-url | wp-polyfill |
|
| wp-viewport | wp-polyfill, wp-element, wp-data, wp-compose, lodash |
|
| wp-wordcount | wp-polyfill |
Список получен из глобальной переменной $GLOBALS['wp_scripts']. Зарегистрированные скрипты могут меняться в зависимости от страницы на которой вы находитесь. В админке список будет больше.
Изменения
В версии 3.5 WordPress изменил положение о минимизации скриптов и CSS стилей. До этого минимизированные файлы имели расширения: .js и .css соответственно, а не минимизированные .dev.js и .dev.css. Теперь, минимизированные файлы имеют расширение: .min.js и .min.css, а обычные .js и .css.
Заметки
- Смотрите: WP_Dependencies::add()
- Смотрите: WP_Dependencies::add_data()
- Смотрите: WP_Dependencies::enqueue()
Список изменений
| С версии 2.1.0 | Введена. |
| С версии 6.3.0 | The $in_footer parameter of type boolean was overloaded to be an $args parameter of type array. |
| С версии 6.9.0 | The $fetchpriority parameter of type string was added to the $args parameter of type array. |
| С версии 7.0.0 | The $module_dependencies parameter of type string[] was added to the $args parameter of type array. |