如何处理Wordpress脚本操作乱七八糟?

时间:2012-11-17 04:19:06

标签: php wordpress wordpress-theming

在开发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中添加,如果需要,可以添加。(

1 个答案:

答案 0 :(得分:0)

为什么不跟踪所有脚本wp_enqueue_script文件并将in_footer参数更改为true。您可能知道wp_enqueue_script方法具有最后一个参数,您可以指示该脚本是否将放入页脚。默认值为false,将放入标题

 wp_enqueue_script( 
        $handle
       ,$src
       ,$deps
       ,$ver
       ,$in_footer  // make this TRUE to put the script in the footer
);

有关详细信息,请访问文档http://codex.wordpress.org/Function_Reference/wp_enqueue_script