Laden Sie Plugin-Skripte und -Stile nur auf der Plugin-Seite

Hallo wordpress Benutzer,

Ich stehe mit einem Problem beim Ausführen von 2 selbst erstellten WordPress-Plugins fest. Ich verwende den folgenden 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' ); } } 

Aber es lädt dieses Stylesheet überall im Admin-Panel. Jetzt habe ich das im Codex gefunden:

 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' ); 

Aber dieser Code funktioniert nicht für meine .. Hat jemand eine andere Option? Oder vielleicht wissen, warum es nicht für mich funktioniert?

Solutions Collecting From Web of "Laden Sie Plugin-Skripte und -Stile nur auf der Plugin-Seite"

Wenn Sie eine Plugin-Optionsseite registrieren, erhalten Sie einen Haken von der Registrierungsfunktion:

 $hook = add_menu_page( 'T5 Demo', // page title 'T5 Demo', // menu title 'manage_options', // capability 't5-demo', // menu slug 'my_render_page' // callback function ); 

Verwenden Sie diesen Hook, um die Skripts und Stile in die Warteschlange zu stellen:

 add_action( "admin_print_styles-$hook", "my_enqueue_style" ); add_action( "admin_print_scripts-$hook", "my_enqueue_script" ); 

Ein Beispiel finden Sie in meinem Plugin T5 Admin Menu Demo .

Definieren Sie keine Konstante PLUGIN_URL . Sie stoßen auf Kollisionen mit anderem Code.