Добавление jQuery script в wordpress Admin
Я почему-то не могу заставить страницы wordpress/wp-admin выполнять простой файл запроса.
Он работает только в том случае, если я отменил регистрацию jquery в моих functions.php в моей папке с темами, но тогда я должен перерегистрировать все файлы jquery.ui отдельно, что является утомительным. Im с использованием многозадачной установки wordpress 3.0. Я пытаюсь не касаться основных файлов wp.
Он будет отображаться в источнике и ссылаться на файл в порядке, но не будет выполнять script.
heres, что у меня есть в моих функциях .php:
function my_script() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', false, '1.4.4');
wp_enqueue_script('jquery');
wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/myScript.js', array('jquery'));
}
if(is_admin()){
wp_enqueue_script('custom_admin_script', get_bloginfo('template_url').'/js/admin_script.js', array('jquery'));
} }
add_action ('init', 'my_script');
Здесь мой файл jquery (admin_script.js):
$(document).ready(function(){
alert("Hello"); });
любая помощь будет большой.
Ответы
Ответ 1
Помните, что jQuery, включенный в Wordpress, работает в режиме NoConflict, насколько я знаю, что означает $
, но вместо этого jQuery
. Вероятно, поэтому вы отменили встроенный jQuery и использовали его в Google CDN. Вероятно, этот режим не работает в этом режиме.
У меня нет опыта работы с wordpress, поэтому я могу сделать ошибку здесь. Просто убедитесь, что встроенный jQuery доступен и загрузите script.
function my_script() {
if (!is_admin()) {
wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/myScript.js', array('jquery'));
}
if(is_admin()){
wp_enqueue_script('custom_admin_script', get_bloginfo('template_url').'/js/admin_script.js', array('jquery'));
}
}
Измените свой admin_script.js, чтобы использовать jQuery
вместо $
.
jQuery(document).ready(function(){
alert("Hello");
});
Посмотрите, работает ли это для вас. Если вам нравится использовать $
, вы, вероятно, можете написать var $ = jQuery;
в верхней части вашего admin_script.js.
Ответ 2
Вы можете сделать это следующим образом:
<?php add_action( 'admin_enqueue_scripts', 'function_name' ); ?>
Это можно использовать как
<?php add_action( 'admin_enqueue_scripts', 'load_custom_script' ); ?>
function load_custom_script() {
wp_enqueue_script('custom_js_script', get_bloginfo('template_url').'/js/custom-script.js', array('jquery'));
}
Подробнее см. документацию здесь