如何将自定义javascript添加到WordPress管理员?

我想在Edit Post页面添加一些自定义jquery代码,非常简单,比如当有人按下Publish时显示div。

唯一的限制是我希望通过使用插件来实现这一点,而不是破解管理模板文件。

我尝试使用某些动作回显一些脚本标签,但似乎不是这样。

使用admin_enqueue_scripts操作和wp_enqueue_script方法将自定义脚本添加到管理界面。

这假设你的插件文件夹中有myscript.js 。 相应地改变。 my_custom_script句柄对于您的模块和脚本应该是唯一的。

 function my_enqueue($hook) { // Only add to the edit.php admin page. // See WP docs. if ('edit.php' !== $hook) { return; } wp_enqueue_script('my_custom_script', plugin_dir_url(__FILE__) . '/myscript.js'); } add_action('admin_enqueue_scripts', 'my_enqueue'); 

您的functions.php文件有一个片段:

 function custom_admin_js() { $url = get_bloginfo('template_directory') . '/js/wp-admin.js'; echo '""'; } add_action('admin_footer', 'custom_admin_js'); 

在Wordpress 3.2.1上正常工作。

  

admin_enqueue_scriptswp_enqueue_script是将javascript文件添加到仪表板的首选方式。

 // I'm using an anonymous function for brevity. add_action( 'admin_enqueue_scripts', function() { wp_enqueue_script( 'handle', plugin_dir_url( __FILE__ ) . '/script.js' ); } ); 

如果你想使用你的PHP函数输出javascript, wp_add_inline_script似乎不起作用。 相反,您可以使用admin_print_scripts直接回显脚本,包括脚本标记本身。 只需确保将优先级设置为高,以便在任何所需的库(如jQuery之后加载。

 add_action( 'admin_print_scripts', function() { // I'm using NOWDOC notation to allow line breaks and unescaped quotation marks. echo <<<'EOT'  EOT; }, PHP_INT_MAX );