Including jQuery in Wordpress

时间:2011-04-07 作者:thisisready

我使用下面的代码在Wordpress安装中包含jQuery。我之前使用标准HTML脚本调用jQuery文件,但这导致IE9中的Wordpress插件出现问题。当我使用wp\\u enqueue\\u script函数时,它解决了这个问题,但它破坏了我在wp\\u head()之后包含的自定义Javascript文件。我做错了什么?

<?php wp_enqueue_script("/wp-content/themes/mytheme/js/jquery-1.5.1.min.js"); ?>
<?php wp_head(); ?>
<script type="text/javascript" src="/wp-content/themes/mytheme/js/custom.js"></script>

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

1) 仅通过wp\\u head()包含脚本。对于自定义脚本,请将其注册并排队,如下所示:

function mytheme_custom_scripts() {

    if ( ! is_admin() ) {
        $scriptsrc = get_stylesheet_directory_uri() . \'/js/\';
        wp_register_script( \'mytheme_custom\', $scriptsrc . \'custom.js\' );   
        wp_enqueue_script( \'mytheme_custom\' );
    }

}
add_action( \'after_setup_theme\', \'mytheme_custom_scripts\' );
2)您需要取消注册核心jQuery,然后注册并将您的精简版本排入队列,如下所示:

function mytheme_minified_jquery() {

    if ( ! is_admin() ) {
        wp_deregister_script( \'jquery\' );
        wp_register_script( \'jquery\', \'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js\' );  
        wp_enqueue_script( \'jquery\' );
    }

}
add_action( \'init\', \'mytheme_minified_jquery\', 1000 );
请注意,两者都包括if ( ! is_admin() ) 有条件的您不想弄乱管理UI中加载的脚本。

此外,我的示例将Google用于缩小的jQuery版本。如果要使用自己的捆绑版本,请将SRC添加到wp_register_script() 相反

SO网友:Rarst

此处有多个问题:

包括jQuery的外部版本,但不注销与WP捆绑的版本wp_enqueue_script() 用法(不正确的参数)更恰当地操作的基本示例如下functions.php 主题:

add_action( \'wp_enqueue_scripts\', \'custom_script\' );

function custom_script() {

    wp_enqueue_script(\'custom\',\'/wp-content/themes/mytheme/js/custom.js\',array(\'jquery\'));
}

结束

相关推荐

修改模板并向其中添加jQuery

有一个名为“所有书签”的页面模板,用于显示按类别分组的所有链接。我想通过两种方式对其进行修改:通过单击类别标题,每个类别的链接都应该是可折叠/可扩展的。模板应该接受一个类别列表,以包括或排除可折叠部分的类别,假设我只需要向每个类别标题添加一个类,以便我的jQuery代码可以影响它们。对于类别限制,我可能需要一种将参数传递给模板的方法。然而,我对WP完全没有兴趣,我也不知道如果模板可以使用参数,或者模板需要引用自定义PHP函数,那么jQuery代码应该放在哪里?是将类添加到模板中,还是创建一个新模板?如果模