Codex tools: Log in / create account
Contents |
Безопасный путь добавления JavaScript в страницу сгенерированную Wordpress.
<?php wp_enqueue_script( $handle, $src, $deps, $ver ); ?>
<?php
function my_init_method() {
wp_enqueue_script('scriptaculous');
}
add_action('init', my_init_method);
?>
Добавим и загрузим новый скрипт, который зависит от 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 (смотрите пояснение здесь).
Примечание: Библиотека 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 |