-
I’ve been reading up a bit on this subject, but the more I read – the more confused I get.
-
Can someone explain to me in short what’s the exact difference between
wp_enqueue_scripts,wp_register_scriptsandwp_print_scripts? -
For example, I have the following code in my functions.php – and it’s working, but I do not understand why I can not use
wp_print_scriptsfor the stylesheets, whereas the code still works if I usewp_enqueue_scriptsfor the javascript files:add_action('wp_print_scripts', 'add_my_js'); function add_my_js(){ if(!is_admin()){ wp_enqueue_script('default', get_bloginfo('stylesheet_directory').'/js/default.js', array('jquery')); } } add_action('wp_enqueue_scripts', 'add_my_stylesheet'); function add_my_stylesheet() { wp_register_style('default', get_bloginfo( 'stylesheet_url')); wp_enqueue_style( 'default'); }
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
wp_print_scripts is the action that runs when scripts are output to the template. wp_register_script and wp_enqueue_script are functions for registering/enqueueing scripts to be output when wp_print_scripts runs.
you can’t register or enqueue styles in the wp_print_scripts action hook because styles have already been output in the wp_print_styles hook, which runs before wp_print_scripts.
refer to the action reference to see the order things are executed in in a request:
22. wp_head 23. wp_enqueue_scripts 24. wp_print_styles 25. wp_print_scripts
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0