在页面模板中加载jQuery

时间:2014-06-16 作者:whitenoisedb

这是一个很基本的问题,也许这是一个重复的问题,所以请告诉我在这种情况下答案的确切位置。

我需要在页面模板中添加一个非常简单的jQuery脚本。我使用的是Openstrap主题,我可以看到jQuery被加载到每个页面上,所以我想我可以正常插入脚本,但不起作用。

读了一些帖子后,我发现我必须使用wp_enqueued_script 函数,但是我只需要在页面模板上加载脚本,而不是每个页面。

<小时>

edit

成功了!为了满足我的需要,我将其更改为is\\u singular($post\\u type),并按预期工作。然而,jQuery脚本没有做任何事情。

内部功能。php,

/* loader iframes */
function loader_iframe() {
if ( is_singular(\'farmacia\') ) {
        wp_enqueue_script( \'loader-iframe\', get_template_directory_uri() . \'/js/loader-iframe.js\', array( \'jquery\' ));
    }
}

add_action( \'wp_enqueue_scripts\', \'loader_iframe\' );
内部js/loader iframe。js、,

$(function() {
    $(\'.loader-iframe\').on(\'load\', function(){
        $(\'.loader-iframe\').find(\'img\').hide();
    });
});

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

您应该使用wp_enqueue_script() 函数首先将脚本排队,然后wp_enqueue_scripts 动作挂钩,将脚本正确添加到主题的页脚或页眉。

还有,你应该看看conditional tags 以及如何使用它们有条件地加载函数/脚本/样式等。

所以你会这样做。首先在themes js文件夹中创建一个新文件,并将其称为类似于my script的文件。js。打开并将脚本添加到该文件中。现在,您可以使用此功能在特定页面上有条件地将js文件添加到主题的页眉/页脚中

function enqueue_my_scripts() {
if ( is_page( 42 ) //will check if we are on page ID 42, please see conditional tags or is_page_template( \'about.php\' ) to check if the page template is about.php ) {
        wp_enqueue_script( \'my-script\', get_template_directory_uri() . \'/js/my-script.js\', array( \'jquery\' )//only if script is dependant on jquery );
    }
}

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

结束