wp_enqueue_script para formulário de widget

Estou criando um widget e preciso enqueue um script para o formulário do widget no painel de administração (e no customizador). Eu tentei muitas maneiras:

function cf_enqueue_admin_script() { wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true); } add_action('admin_enqueue_scripts', 'cfstcyr_admin_custom_script'); 

e

 function cf_enqueue_admin_script() { wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true); } add_action('admin_print_scripts-widgets.php', 'cf_enqueue_admin_script')); 

e

 class cfstcyr_plugin extends WP_Widget { public function __construct() { ... add_action('admin_print_scripts-widgets.php', array(&$this, 'load_scripts')); } function load_scripts() { wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true); } } 

e

 class cfstcyr_plugin extends WP_Widget { public function form() { ... wp_enqueue_script('admin_custom_script', get_template_directory_uri() . '/js/admin.js', array('jquery', 'wp-color-picker'), false, true); } } 

Funciona, mas quando guardo sem atualizar a página ou quando estou no Customizador, isso não funciona. Eu também tentei isso:

 class cfstcyr_plugin extends WP_Widget { public function form() { ...  ...  } } 

Mas gera vários tempos.

Eu realmente preciso adicionar Javascript (Media Uploader, Color Picker, etc), mas não posso fazê-lo funcionar depois de salvar a página sem atualizar nem no personalizador.

Então, o que eu quero é: my_custom_widget.php

 class cfstcyr_plugin extends WP_Widget { public function form() { // Option form for widget 

Click here!

} }

e meu widget.js

 (function ($) { $(document).ready(function () { $('.p').click(function() { alert('Hello World!'); }); }); }(jQuery)); 

Muito obrigado!