在WordPress中加载脚本

时间:2016-12-01 09:57:01

标签: javascript php wordpress

我可以加载(在我的子主题functions.php文件中使用它来在wordpress中排队脚本:

function my_assets() {

    wp_enqueue_script( 'about', get_stylesheet_directory_uri() . '/js/about.js', array( 'jquery' ), '1.0' , true );
}

add_action( 'wp_enqueue_scripts', 'my_assets' );

加载不是问题,脚本可以正常工作,但是当我想在页面上有条件地加载它时,它不能使用这段代码(在同一个文件中并直接在上面的代码下面):

function deregister_about_javascript() {
    if ( !is_page(490) ) {
        wp_dequeue_script( 'about' );
    }
}

该脚本仍会显示在所有页面上。我尝试使用页面的名称,slug,我将wp_dequeue_script更改为admin_dequeue_script并且没有任何作用。

值得注意的是,当我在管理员中点击页面获取页面ID号时,即使我在“页面”中,它在地址栏中也有“post”字样。 可湿性粉剂管理员/ 发表 .PHP 发表 = 490&安培;行动=编辑

大声笑似乎很直接,我错过了什么?

谢谢

1 个答案:

答案 0 :(得分:2)

不是执行另一个函数来使脚本出列,而是可以提前返回,而不是根据特定条件首先将脚本排入队列:

function my_assets() {
    if ( ! is_page( 490 ) ) {
        return;
    }

    wp_enqueue_script( 'about', get_stylesheet_directory_uri() . '/js/about.js', array( 'jquery' ), '1.0', true );
}

add_action( 'wp_enqueue_scripts', 'my_assets' );

现在只在页面ID 490上调用wp_enqueue_script函数。