如何将自定义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_scripts
和wp_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 );