响应式jQuery菜单原生于WP主题

时间:2014-03-22 17:09:11

标签: jquery wordpress navigation responsive-design

我正在制作自定义wordpress主题http://www.imlivingart.com/testimonials的响应式下拉菜单(注意:此问题与启动页面无关,所以请不要访问imlivingart.com)< / p>

愿景:当我将浏览器的大小调整为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的新手,而且我已经破坏了我的大脑2天了。我尝试使用谷歌搜索,并在StackOverflow上找到了类似的问题,但它们似乎并没有使它工作。也许我的问题更具体?叹息......任何帮助都将不胜感激!感谢!!!

修改

好的,我设法使用本教程:http://wpwizard.net/jquery/add-jquery-to-your-theme-or-plugin/

这涉及将jQuery直接编码到我的WP主题标题中。即便如此,我也很高兴弄清楚如何链接到我的自定义jquery 外部脚本表。谢谢!

1 个答案:

答案 0 :(得分: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');