在wordpress子主题中排队脚本顺序错误

wrong enqueue script order in wordpress child theme

本文关键字:排队 脚本 顺序 错误 wordpress      更新时间:2023-09-26

我试图在wordpress的子主题中队列我的脚本,但我在Jquery之前加载它,即使我已经指定了Jquery依赖。

代码:

add_action( 'wp_enqueue_scripts', 'child_theme_scripts' );
function child_theme_scripts(){    
    wp_enqueue_script( 'dynamic-menu-script', get_stylesheet_directory_uri() . '/js/dynamic-menu.js', array( 'jquery' ) );
}

无论我做什么(我尝试先注册,然后在jquery后指定我的脚本在数组中,我试图指定在页脚加载脚本,我试图在外部排队jquery)我的脚本加载前查询扔给我一个"ReferenceError:找不到变量:jquery"我检查了JQ是正确加载,但在我的脚本。

这件事快把我逼疯了,请帮帮我……

您可以使用priority参数改进脚本加载的顺序。默认优先级为10,因此您可以将其设置为11。

add_action( 'wp_enqueue_scripts', 'child_theme_scripts', 11 );

下面是一个简单的帮助函数,它向你展示了你想要使用的钩子分配了哪些函数。

function print_filters_for( $hook = '' ) {
  global $wp_filter;
  if( empty( $hook ) || !isset( $wp_filter[$hook] ) )
    return;
  print '<pre>';
  print_r( $wp_filter[$hook] );
  print '</pre>';
}

你可以在模板的任何地方使用print_filters_for( 'wp_enqueue_scripts' );

除了@sirBlond,
在我的情况下,hook = ''没有工作。

我把它改成:

function print_filters_for($hook)