Добавление скрипта jQuery для администратора WordPress - PullRequest
18 голосов
/ 08 февраля 2011

По какой-то причине я не могу заставить страницы wordpress / wp-admin выполнить простой файл запроса. Это работает, только если я отменил регистрацию jquery в моем functions.php в папке моей темы, но затем я должен перерегистрировать все файлы jquery.ui отдельно, что утомительно. Я использую многопозиционную установку WordPress 3.0. Я стараюсь не трогать основные файлы wp.

Он покажет в источнике и ссылки на файл нормально, но не будет выполнять сценарий. вот что у меня есть в моих функциях. 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"); });

любая помощь будет отличной.

Ответы [ 2 ]

29 голосов
/ 08 февраля 2011

Имейте в виду, что jQuery, включенный в Wordpress, работает в режиме NoConflict , насколько я знаю, что означает, что $ нет, но вместо jQuery. Вероятно, поэтому вы отменили регистрацию встроенного jQuery и использовали его из Google CDN. Этот, вероятно, не работает в этом режиме.

У меня нет опыта работы с WordPress, поэтому я могу ошибиться здесь. Просто убедитесь, что встроенный jQuery доступен, и загрузите ваш скрипт.

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.

8 голосов
/ 06 ноября 2014

Вы можете сделать это

<?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'));
}

Для получения дополнительной помощи см. Документацию здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...