Hello wordpress users,
I’m stuck with a problem while running 2 self made WordPress plugins.
I’ll use the following code :
define('PLUGIN_URL', plugin_dir_url( __FILE__ ));
add_action( 'admin_enqueue_scripts', 'plugin_load_js_and_css' );
function plugin_load_js_and_css() {
wp_register_style( 'plugin.css', PLUGIN_URL . 'plugin.css', array());
wp_enqueue_style( 'plugin.css');
wp_register_script( 'plugin.js', PLUGIN_URL . 'plugin.js', array('jquery'));
wp_enqueue_script( 'plugin.js' );
}
}
But it’s loading this stylesheet everywhere in the admin panel.
Now I found this in the codex:
function my_enqueue($hook) {
if( 'edit.php' != $hook )
return;
wp_enqueue_script( 'my_custom_script', plugins_url('/myscript.js', __FILE__) );
}
add_action( 'admin_enqueue_scripts', 'my_enqueue' );
But this code is not working for my..
Does anyone have a another option? Or maybe know why it’s not working for me?
3 s
When you register a plugin option page you get a hook from the registration function:
$hook = add_menu_page(
'T5 Demo', // page title
'T5 Demo', // menu title
'manage_options', // capability
't5-demo', // menu slug
'my_render_page' // callback function
);
Use this hook to enqueue the scripts and styles:
add_action( "admin_print_styles-$hook", "my_enqueue_style" );
add_action( "admin_print_scripts-$hook", "my_enqueue_script" );
See my plugin T5 Admin Menu Demo for an example.
Do not define a constant PLUGIN_URL
. You will run into collisions with other code.