WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Difference between revisions of "Справочник по функциям/wp enqueue script"

(Corrected hooks information)
Line 11: Line 11:
   
 
%%%<?php wp_enqueue_script( $handle, $src, $deps, $ver ); ?>%%%
 
%%%<?php wp_enqueue_script( $handle, $src, $deps, $ver ); ?>%%%
'''Эта функция должна вызываться в привязке к действию <tt>wp_enqueue_scripts</tt> (для внешней части сайта) или <tt>admin_enqueue_scripts</tt> (для панели управления).''' Вызов её без привязки к действию может привести к проблемам (см. [http://core.trac.wordpress.org/ticket/11526 #11526]).
+
'''Эта функция должна вызываться в привязке к действию <tt>wp_enqueue_scripts</tt> (для внешней части сайта), <tt>admin_enqueue_scripts</tt> (для панели управления) или <tt>login_enqueue_scripts</tt> (для страницы входа).'''
   
 
== Параметры ==
 
== Параметры ==

Revision as of 07:47, 30 July 2012

Описание

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

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

<?php wp_enqueue_script$handle$src$deps$ver ); ?> Эта функция должна вызываться в привязке к действию wp_enqueue_scripts (для внешней части сайта), admin_enqueue_scripts (для панели управления) или login_enqueue_scripts (для страницы входа).

Параметры

$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

Примеры

Примечание: Это функция не будет работать, если она вызвана из действия wp_head или wp_print_scripts, поскольку на момент выполнения этих действий скрипты уже должны быть добавлены в очередь. Корректные действия описаны в секции «Использование».

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

<?php
function my_init_method() {
    wp_enqueue_script('scriptaculous');            
}    
 
add_action('wp_enqueue_scripts', 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 */
    }
    
?>

Скрипты, по умолчанию включенные в 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.