Codex

Справочник по функциям/wp enqueue script

Contents

Описание

Безопасный путь добавления JavaScript в страницу сгенерированную Wordpress.

Использование

<?php wp_enqueue_script$handle$src$deps$ver ); ?>

Параметры

$handle
(string) (required) Название скрипта (рабочее название). Строка в нижнем регистре.
Default: None
$src
(string) (optional) Путь до скрипта от корневой директории WordPress. Например: "/wp-includes/js/scriptaculous/scriptaculous.js". Этот параметр необходим только в случае, если WordPress еще не знает об этом скрипте.
Default: None
$deps
(array) (optional) Массив названий скриптов от которых зависит этот скрипт; скрипты которые должни быть загружены перед этим скриптом. false в случае если нет зависимостей. Этот параметр необходим только в случае, если WordPress еще не знает об этом скрипте.
Default: None
$ver
(string) (optional) Строка указывающая версию скрипта, если она у него есть. По умолчанию false. Этот параметр используется для того чтобы удостовериться, что клиент получил верную версию скрипта, а не из кеша.
Default: None

Примеры

Загружаем скрипт scriptaculous

<?php
function my_init_method() {
    
wp_enqueue_script('scriptaculous');            
}    
 
add_action('init'my_init_method);
?>

Загружаем скрипт зависящий от scriptaculous

Добавим и загрузим новый скрипт, который зависит от scriptaculous (это также вызывет загрузку scriptaculous на странице): <?php
wp_enqueue_script
('newscript',
 
'/' PLUGINDIR '/someplugin/js/newscript.js',
 array(
'scriptaculous'),
 
'1.0' );
?>

Загружаем скрипты плагина только на его страницах

<?php

    /*
     * Этот пример будет работать как минимум на WordPress 2.6.3,
     * хотя возможно и на более ранних версиях.
     */

    add_action('admin_init', 'my_plugin_admin_init');
    add_action('admin_menu', 'my_plugin_admin_menu');
    
    function my_plugin_admin_init()
    {
        /* Регистрируем наш скрипт. */
        wp_register_script('myPluginScript', WP_PLUGIN_URL . '/myPlugin/script.js');
    }
    
    function my_plugin_admin_menu()
    {
        /* Регистрируем страницу нашего плагина */
        $page = add_submenu_page( 'edit.php', 
                                  __('Мой плагин', 'myPlugin'), 
                                  __('Мой плагин', 'myPlugin'), 9,  __FILE__, 
                                  'my_plugin_manage_menu');
   
        /* Используем зарегистрированный хендл страницы 
           чтобы добавить хук на загрузку скриптов */
        add_action('admin_print_scripts-' . $page, 'my_plugin_admin_scripts');
    }
    
    function my_plugin_admin_scripts()
    {
        /*
         * Эта функция будет вызвана только на странице плагина, 
           поставим наш скрипт в очередь здесь */
        wp_enqueue_script('myPluginScript');
    }
    
    function my_plugin_manage_menu()
    {
        /* Output our admin page */
    }
    
?>


Примечание: Это функция не будет работать, если она вызвана из действия wp_head, т.к. теги <script> выводятся до выполнения wp_head. Вместо этого вызывайте wp_enqueue_script в функции действии init (чтобы загрузить скрипт на всех страницах), в template_redirect (только на всех публичных страницах) или в admin_print_scripts (только на страницах администрирования). Не используйте wp_print_scripts (смотрите пояснение здесь).

Скрипты по умолчанию включенные в WordPress

Примечание: Библиотека jQuery включенная в WordPress загружается в режиме "no conflict". Чтобы использовать функцию $ как обычно, используйте следующее:

jQuery(document).ready(function($) {
    // $() будет работать как ссылка на jQuery() внутри этой функции

});
Название скрипта Рабочее название
Scriptaculous Root scriptaculous-root
Scriptaculous Builder scriptaculous-builder
Scriptaculous Drag & Drop scriptaculous-dragdrop
Scriptaculous Effects scriptaculous-effects
Scriptaculous Slider scriptaculous-slider
Scriptaculous Sound scriptaculous-sound
Scriptaculous Controls scriptaculous-controls
Scriptaculous scriptaculous
Image Cropper cropper
SWFUpload swfupload
SWFUpload Degarade swfupload-degrade
SWFUpload Queue swfupload-queue
SWFUpload Handlers swfupload-handlers
jQuery jquery
jQuery Form jquery-form
jQuery Color jquery-color
jQuery UI Core jquery-ui-core
jQuery UI Tabs jquery-ui-tabs
jQuery UI Sortable jquery-ui-sortable
jQuery UI Draggable jquery-ui-draggable
jQuery UI Droppable jquery-ui-droppable
jQuery UI Selectable jquery-ui-selectable
jQuery UI Resizable jquery-ui-resizable
jQuery Interface interface
jQuery Schedule schedule
jQuery Suggest suggest
ThickBox thickbox
Simple AJAX Code-Kit sack
QuickTags quicktags
ColorPicker colorpicker
Tiny MCE tiny_mce
Prototype Framework prototype
Autosave autosave
WordPress AJAX Response wp-ajax-response
List Manipulation wp-lists
WP Common common
WP Editor editor
WP Editor Functions editor-functions
AJAX Cat ajaxcat
Admin Categories admin-categories
Admin Tags admin-tags
Admin custom fields admin-custom-fields
Password Strength Meter password-strength-meter
Admin Comments admin-comments
Admin Users admin-users
Admin Forms admin-forms
XFN xfn
Upload upload
PostBox postbox
Slug slug
Post post
Page page
Link link
Comment comment
Admin Gallery admin-gallery
Media Upload media-upload
Admin widgets admin-widgets
Word Count word-count
WP Gears wp-gears
Theme Preview theme-preview

Ресурсы

This article is marked as in need of editing. You can help Codex by editing it.