我倾向于将wp\\u enqueue\\u脚本挂钩放在函数上。php,但这最终会在我的网站上堆积脚本。
哪个更有意义?
1:
function load_slider(){
global $post;
if($post->ID == 11746){ // Load slider on home page
wp_register_script(\'start-slidorion\', get_bloginfo(\'stylesheet_directory\') . \'/js/slidorion/start.js\', array(\'slidorion\', \'jquery\',\'easing\') );
wp_enqueue_script(\'start-slidorion\' );
}
}
add_action(\'wp_enqueue_scripts\', \'load_slider\');
2:
function load_slider(){
wp_register_script(\'start-slidorion\', get_bloginfo(\'stylesheet_directory\') . \'/js/slidorion/start.js\', array(\'slidorion\', \'jquery\',\'easing\') );
wp_enqueue_script(\'start-slidorion\' );
}
global $post;
if($post->ID == 11746){ // Load slider on home page
add_action(\'wp_enqueue_scripts\', \'load_slider\');
}
最合适的回答,由SO网友:Milo 整理而成
方法二不起作用,因为还没有加载页面,并且在if检查运行时没有设置$post。
对于方法1,此时还没有设置$post,但如果使用WordPress conditionals:
function load_slider(){
if( is_page(11746) ){ // Load slider on home page
wp_register_script(\'start-slidorion\', get_bloginfo(\'stylesheet_directory\') . \'/js/slidorion/start.js\', array(\'slidorion\', \'jquery\',\'easing\') );
wp_enqueue_script(\'start-slidorion\' );
}
}
add_action(\'wp_enqueue_scripts\', \'load_slider\');
EDIT 另一个示例使用
has_term
:
function load_slider(){
global $post;
if( has_term( \'your category\', \'category\', $post ) ):
// enqueue your script
endif;
}
add_action(\'wp_enqueue_scripts\', \'load_slider\');