将jQuery与WordPress结合使用(使用wp_enQueue_脚本

时间:2017-12-14 作者:Gawet

我需要在我的主题的单页模板中包含jquery。但看起来它不想这样。

我尝试用wp\\u enqueue\\u scripts()调用它,但我什么也没做。下面是函数中的内容。php

add_action( \'wp_enqueue_scripts\', \'custom_theme_load_scripts\' );
function custom_theme_load_scripts()
{
wp_enqueue_script( \'jquery\' );
}
以及我在页面模板中要做的事情。php

<?php custom_theme_load_scripts(); ?>
<script type="text/javascript"> 
//stuff using jquery here

</script>
即使在标题之前调用它也不起作用。

我不想加载外部jquery文件,因为wordpress已经有了一个jquery文件,但我不知道为什么它不起作用,所以我头痛不已。

有什么想法吗?

3 个回复
最合适的回答,由SO网友:Gawet 整理而成

好吧,这很尴尬,但我解决了自己的问题。jQuery确实在收费,但。。。我在使用$this.

正如有人在另一条帖子上所说:

默认情况下,当您在Wordpress中将jQuery排入队列时,必须使用jQuery,并且不使用$(这是为了与其他库兼容)。

因此,您必须使用jquery 作为选择器,而不是$.

希望它能帮助别人!

谢谢大家的帮助!

SO网友:Dylan

听起来您的模板缺少对的调用wp_head() 这将输出排队的脚本和样式。你通常会wp_head() 在您的header.php 模板,并将其包含在页面模板中。

要根据所使用的页面模板有条件地将jQuery排队,可以使用以下代码:

add_action( \'wp_enqueue_scripts\', \'custom_theme_load_scripts\' );
function custom_theme_load_scripts() { 
    if ( is_page_template( \'page-template.php\' ) ) {
        wp_enqueue_script( \'jquery\' );
    }   
}
请记住,插件可能需要jQuery,因此需要将其放入其他页面/模板中。

SO网友:dipak_pusti

你想做什么page-template.php 完全错了。尝试在Enquence jquery时运行条件查询。以下是可能对您有所帮助的代码。

add_action( \'wp_enqueue_scripts\', \'custom_theme_load_scripts\' );
function custom_theme_load_scripts() {
    
    // If you want to disable from all other pages
    wp_dequeue_script(\'jquery\');

    // Add to your page template
    if( is_page_template(\'YOUR_TEMPLATE_NAME\') ) {
        
        // Now enqueue jQuery again
        wp_enqueue_script( \'jquery\' );
    }
}
如果不是页面模板和其他条件,如单页或单帖子或任何您想要的内容,WordPress对每个条件都有一个条件查询。签出以下页面,

https://codex.wordpress.org/Conditional_Tags

希望这个有帮助:)

结束

相关推荐

为什么我的WordPress要加载旧版本的JQuery?

嗨,我正在尝试将引导javascript文件排队。但这取决于JQuery和Popper。js。因此,我从CDN加载PopperJ,我提到JQuery和PopperJ都是引导程序队列的依赖项。我并没有将JQuery排入队列,因为如果您知道Wordpress将加载它,只要您将其作为依赖项提及即可。如下所示:-wp_enqueue_script( \'popper\', \'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.mi