gpt4 book ai didi

php - 如何在 Wordpress 管理小部件中包含 javascript 文件

转载 作者:搜寻专家 更新时间:2023-10-31 21:11:09 24 4
gpt4 key购买 nike

我为 wordpress 创建了一个小部件。小部件的形式有一些输入框。现在,我想添加一个自定义输入框,它使用我从 http://jscolor.com/ 下载的 javascript 文件。

现在,问题是它不起作用。我已经在 WP_Widget 类的表单函数中注册了这样的 javascript 文件。

require_once('index.php');
add_action('admin_enqueue_scripts', 'pw_load_scripts');

pw_load_scripts函数在index.php中

function pw_load_scripts() {
wp_register_script('custom-js', plugin_dir_url(__FILE__).'scripts/jscolor.js');
wp_enqueue_script('custom-js');
}

在所有这些之后,它是行不通的。执行此任务的正确方法是什么?

我的 error.log 有这个错误

[Mon Oct 07 21:37:30.591896 2013] [:error] [pid 14853] [client 127.0.0.1:42453] PHP Fatal error:  Cannot redeclare _wp_menu_output() (previously declared in /var/www/wordpress/wp-admin/menu-header.php:36) in /var/www/wordpress/wp-admin/menu-header.php on line 36

谢谢

最佳答案

正确的 钩子(Hook)是 admin_print_scripts 1 入队样式脚本。

请注意 admin_footeradmin_head也接受相同的屏幕定位'actionname<b>-$hook</b>' :

add_action( 'admin_print_scripts-widgets.php', 'admin_enqueue_so_19228543' );

function admin_enqueue_so_19228543()
{
wp_enqueue_script(
'my-script',
plugins_url( '/my-script.js', __FILE__ ),
array(), // dependencies
false, // version
true // on footer
);
wp_enqueue_style(
'my-style', plugins_url( '/my-style.css', __FILE__ )
);

}

1 Codex 另有说法,但我很确定这是官方立场。我正在研究并将报告回来。


更新

我找不到对 admin_print_scripts 的任何引用是正确的钩子(Hook),虽然它有效,而且我已经多次看到这种方式。为了完整起见,这就是 admin_enqueue_scripts 的方式作品:

add_action( 'admin_enqueue_scripts', 'admin_enqueue_so_19228543' );

function admin_enqueue_so_19228543( $hook )
{
if( 'widgets.php' != $hook )
return;

wp_enqueue_script(
'my-script',
plugins_url( '/my-script.js', __FILE__ ),
array(), // dependencies
false, // version
true // on footer
);
wp_enqueue_style(
'my-style', plugins_url( '/my-style.css', __FILE__ )
);

}

相关:Difference between do_action('admin_enqueue_scripts', $hook_suffix) and do_action(“admin_print_styles-$hook_suffix”) syntax

关于php - 如何在 Wordpress 管理小部件中包含 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19228543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com