I’m pulling in scripts.php through functions.php. this is in scripts.php but for some reason, wordpress isn’t recognizing is_home(). i’ve tried resetting the query, but to no avail. Am I hooking into the right function?
if(is_home()){
function my_scripts_method2() {
wp_register_script('cycle', get_template_directory_uri() . '/js/cycle.js', array('jquery'));
wp_enqueue_script('cycle');
}
add_action('wp_enqueue_scripts', 'my_scripts_method2');
function my_scripts_method() {
wp_register_script('homepage', get_template_directory_uri() . '/js/homepage.js', 'cycle');
wp_enqueue_script('homepage');
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
}
At the time functions.php is included during bootup, WordPress has no idea on the contents of the query, and doesn’t know the nature of the page.
is_home
will return false.Wrap the code in a function and have it triggered by the
wp
hook, which comes after the global query object has been hydrated with data.The
wp_enqueue_scripts
action runs afterwp
.http://codex.wordpress.org/Plugin_API/Action_Reference#Actions_Run_During_a_Typical_Request
try with
$_SERVER[REQUEST_URI]
.It works for me 😉 In my case I have this script for charging the enqueue scripts only on the front:
echo the
$_SERVER[REQUEST_URI]
and you’ll see his value for each page you are so you can work with it 😉