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?
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.