我可以加载(在我的子主题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&安培;行动=编辑
大声笑似乎很直接,我错过了什么?谢谢
答案 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
函数。