在开发 Wordpress + BuddyPress 子主题期间,我遇到了脚本问题。我想将它们移动到 BODY 页脚(Modernizr 除外),但一些 BuddyPress 脚本留在顶部。我已经做到了:
// remove unused head entries
remove_action('wp_head', 'rsd_link');
//...
remove_action('wp_head', 'adjacent_posts_rel_link');
// move sctipts to footer
remove_action('wp_head', 'wp_print_scripts');
remove_action('wp_head', 'wp_print_head_scripts');
remove_action('wp_head', 'wp_enqueue_scripts');
remove_action('wp_head', 'bp_core_confirmation_js');
remove_action('wp_head', 'bp_core_add_ajax_url_js');
add_action('wp_head', 'wp_head_scripts', 9);
add_action('wp_footer', 'wp_enqueue_scripts', 20);
add_action('wp_footer', 'bp_core_confirmation_js', 21);
add_action('wp_footer', 'bp_core_add_ajax_url_js', 22);
我对动作顺序感到困惑,它看起来并不漂亮。
有没有可能让它更漂亮(更自动化)?我在考虑这样的数组:
$head_scripts = array(
'modernizr' => 'libs/modernizr-2.6.1.js',
);
$footer_scripts = array(
'jquery' => 'libs/jquery-1.8.2.js',
'jquery.mansonry' => 'libs/jquery.masonry.min.js',
'fb_api' => 'libs/fb_api.js',
'scripts' => 'script.js'
);
和一个功能(动作),它首先在头部添加,另一个在页脚和下一个 admin_bar 中,如有必要,可以添加 buddypress 脚本。