I am having trouble getting wp_enqueue functions to work. I’ve looked at all the documentation on it but am having trouble sifting through and finding out what is supposed to go where.
so far I understand that I am supposed to register and enqueue the files from the functions.php file of the theme I am creating. So that is exactly what I do. I create some PHP tags and drop it in the middle of them, at the bottom of the page. Save and Upload.
When I reload, it just returns a blank white screen, must be an error in the code or something.
Here is the function:
<?php
function add_scripts(){
wp_register_script('jquery', 'http://code.jquery.com/jquery-1.5.2.min.js');
wp_register_script('nivo', get_bloginfo('url').'/scripts/nivo.js');
wp_register_script('slimbox',get_bloginfo('url').'/scripts/slimbox2.js');
wp_register_script('picasa', get_bloginfo('url').'/scripts/jquery.EmbedPicasaGallery.js');
wp_register_script('pwi',get_bloginfo('url').'/jquery.pwi-min.js');
wp_register_script('swf', get_bloginfo('url').'/jquery.swfobject.1-1-1.min.js');
wp_register_script('simpletube',get_bloginfo('url').'/scripts/jquery.simpletube.js');
wp_register_script('jqvalidate', get_bloginfo('url').'/jquery.jqvalidate.js');
wp_enqueue_script('jquery');
wp_enqueue_script('nivo');
wp_enqueue_script('slimbox');
wp_enqueue_script('picasa');
wp_enqueue_script('pwi')
wp_enqueue_script('swf');
wp_enqueue_script('simpletube')
wp_enqueue_script('jqvalidate');
}
add_action('init','add_scripts');
?>
So is there some sort of problem with my syntax? I’m not that strong with PHP.
Any help is greatly appreciated. Thanks!
It’s kind of hard to debug it without seeing the whole file but the fact you get a ‘blank page’ suggests there’s definitely something larger than a syntax problem somewhere.
Do you definitely have correctly nested php tags? i.e.
will give you problems.
Also, it’s now common practice to leave the last
?>
from the end of the file (it means you wont have any issues with having whitespace after the closing tags and they’re not necessary)On top of that, you’ve used
wp_register_script('jquery'...)
– WordPress already has jquery registered. If you wish to re-register it, you need towp_deregister_script('jquery')
first. I’d also only do that outside of the admin, so:if(!is_admin()){wp_deregister_script('jquery'); <your wp_register_script stuff> }
If these things don’t help, copy and paste your entire
functions.php
file (use pastebin.com and give us a link)As an aside, you’re using
get_bloginfo('url')
several times – which means you’re running lots of unnecessary calls to the database. Stick it into a variable and save yourself a little overhead:Oh! One more thing, I don’t think
url
is an allowed argument forget_bloginfo()
I think you wantwpurl
Codex page on get_bloginfo() function
Good luck!
Missing
;
for the following two lines:Instead of your code I would use:
So please notice I have removed “wp_register_script” as using that is totally unnecessary if you are going to call wp_enqueue immediately after register.
Is used so that you can afterwards call it ANYWHERE else in code without including the path.
Also big change is that I’m not calling the function from
But I’m calling it from
Also please consider adding additional parameters to your wp_enqueue_script such as