I'm trying to add a function inside my php file, which is inside an /admin/ folder, to call a specific javascript file, roomzeroadmin.js. I've tried using:
function roomzero_load_admin_scripts() {
// Enqueue admin.js for the admin dashboard
wp_enqueue_script(
'roomzero-admin-script', // Unique handle
plugin_dir_url(__FILE__) . 'js/roomzeroadmin.js', // Path to admin.js
array('jquery'), // Dependencies (if any)
'1.0.0', // Version
true // Load in footer
);
}
add_action('admin_enqueue_scripts', 'roomzero_load_admin_scripts');
but it just doesn't seem to work. I also tried
add_action('wp_enqueue_scripts','roomzero_js');
function roomzero_js() {
wp_enqueue_script( 'roomzero-test-js', plugins_url( '/js/roomzero.js', __FILE__ ));
}
but that doesn't work either. Any suggestions on how I can make this work?
Trying to help troubleshoot a bit.
How are you running the javascript? Via a page-specific snippet, via your functions or via a plugin?
Also, you probably already did that, just double check that since you're working within the /admin/ folder, that you make sure that you're specifically targeting the admin pages and loading your script there.
Also, double check to make sure your filepath actually points to the correct location of roomzeroadmin.js.
If your roomzeroadmin.js file is located at /wp-content/plugins/your-plugin/js/roomzeroadmin.js, plugin_dir_url(FILE) will give the correct base URL, so you should be fine there. However, double-check the structure.
Make sure the array('jquery') dependency is correct. Do you specifically need jquery?
Here if a clean piece of code that you can test with:
function roomzero_load_admin_scripts($hook) {
// Check if we're on the admin pages (optional: you can specify exact pages by checking the $hook)
if (is_admin()) {
// Enqueue the roomzeroadmin.js file
wp_enqueue_script(
'roomzero-admin-script', // Unique handle for the script
plugin_dir_url(__FILE__) . 'js/roomzeroadmin.js', // Path to the JS file
array('jquery'), // Dependencies (jQuery is common in the admin area)
'1.0.0', // Version of your script
true // Load in the footer (set to false if you want it in the header)
);
}
}
add_action('admin_enqueue_scripts', 'roomzero_load_admin_scripts');
Good luck.