2014-03-22 4 views
2

Я работаю над отзывчивым ниспадающего меню для пользовательских WordPress темы http://www.imlivingart.com/testimonials (примечание: этот вопрос не имеет отношения к странице выплеска поэтому, пожалуйста, не посетить просто imlivingart.com)Отзывчивый JQuery меню родной для WP темы

Видение: Когда я изменяю размер моего браузера до 900, появится строка меню. Когда я нажимаю на эту панель меню, список меню WP падает. Когда я снова нажимаю строку меню, список меню WP скрыт.

Текущая ситуация: Я пытаюсь использовать некоторые простые jQuery для переключения меню вверх и вниз. К сожалению, я не могу подключить свой пользовательский jQuery к моей теме WP.

JQuery (в настоящее время находится в /js/resp-menu.js):

jQuery(document).ready(function() { 
    $('#show-rmenu').click(function() { 
      $('.r-menu').slideToggle("fast"); 
    }); 
}); 

Все относительный код, кажется, работает в этой jsfiddle (с учетом отсутствия WP): http://jsfiddle.net/QRfK7/1/

Но это не переводит на мою тему WP. В моем файле функции я попытался вызвать jQuery и мой собственный скрипт различными способами. Совсем недавно я попробовал это (от http://www.ericmmartin.com/5-tips-for-using-jquery-with-wordpress/):

function my_init() { 
if (!is_admin()) { 
    wp_deregister_script('jquery'); 
    wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.10.1', true); 
    wp_enqueue_script('jquery'); 

    // load a JS file from my theme: js/theme.js 
    wp_enqueue_script('my_script', get_bloginfo('template_url') . '/js/resp-menu.js', array('jquery'), '1.10.1', true); 
} 
} 
add_action('init', 'my_init'); 

Я надеюсь, что это достаточно информации. Тьфу. Я новичок в jQuery и WP Enqueue Script, и я на два дня обманывал свой мозг. Я попробовал поиск в Google и нашел похожие вопросы здесь, на StackOverflow, но они, похоже, не работали. Может быть, моя проблема более конкретна? Вздох ... любая помощь будет очень признательна! Благодаря!!!

Редактировать

Хорошо, мне удалось заставить его работать с помощью этого учебника: http://wpwizard.net/jquery/add-jquery-to-your-theme-or-plugin/

Это включало кодирование JQuery непосредственно в мой заголовок WP темы. Тем не менее, было бы неплохо выяснить, как я мог связать свой собственный jQuery внешний скрипт. Благодаря!

+0

Обязательно ознакомьтесь с описаниями, которые появляются при выборе тегов! – Charles

ответ

0

Я не уверен, почему вы отменяете регистрацию библиотеки jQuery и затем добавляете ее обратно. Я бы написал это, как показано ниже.

Также, если вы использовали bloginfo ('template_url');

Вам необходимо называть это следующим образом: get_bloginfo ('template_url');

Вы должны использовать get_template_directory_uri();

Вы также должны использовать действие wp_enqueue_scripts, а не init.

Уведомление Я добавил аргументы функции $ внутри аргументов функции, потому что WP jQuery lib не распознает $. Другой вариант - заменить все экземпляры $ с помощью jQuery.

jQuery(document).ready(function($) { 
    $('#show-rmenu').click(function() { 
     $('.r-menu').slideToggle("fast"); 
    }); 
}); 


// Register Javascript with wp_enqueue 
function my_init() { 
if (!is_admin()) { 

// Register Script 
wp_register_script('my_script', get_template_directory_uri() . '/js/resp-menu.js', array('jquery'), '1.10.1', true); 

wp_enqueue_script('my_script'); 
} 

} 
add_action('wp_enqueue_scripts', 'my_init'); 
Смежные вопросы