我尝试将test.js文件添加到前端部分的widget中。但它没有任何反应。该文件包含警报。我的代码出了什么问题?
class PPNDR_new_widget extends WP_Widget{
function __construct(){
$args = array(
'name' => 'new widget',
'description' => 'this is my first widget',
'classname' => 'ppndr-new-widget'
);
parent::__construct('my_first', '', $args);
}
//front-end display of widget
public function widget($args, $instance) {
add_action('wp_enqueue_scripts', 'CounDounJS_enqueue_js');
function CounDounJS_enqueue_js() {
wp_enqueue_script('resize', plugins_url('/assets/js/test.js', __FILE__));
}
return;
}
}
add_action( 'widgets_init', function() {
register_widget('PPNDR_new_widget');
} );
答案 0 :(得分:1)
我遇到了类似的问题,谷歌将我带到了这里–最终为我工作的是消除了add_action('wp_enqueue_scripts..
并只是将脚本和样式放入了小部件函数中。
例如:
//front-end display of widget
public function widget($args, $instance) {
wp_enqueue_script('resize', plugins_url('/assets/js/test.js', __FILE__));
}
存在无法使脚本出队的问题,但我怀疑对此的需求会很小。
希望这会有所帮助。