2013-10-07 6 views
2

나는 wordpress를위한 위젯을 만들었습니다. 위젯의 양식에는 입력 상자가 있습니다. 자, 내가 다운로드 한 자바 스크립트 파일을 사용하는 사용자 정의 입력 상자를 추가하고 싶습니다. http://jscolor.com/Wordpress admin 위젯에 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 

올바른 후크 스타일 스크립트를 대기열에 admin_print_scripts1 당신

+0

PHP 오류 로그에는 어떤 내용이 있습니까? 또는 눈에 띄는 다른 오류는 무엇입니까? – manishie

+0

widgets.php에서 내 위젯의 왼쪽 위와 위젯 만 볼 수 있습니다. 다른 사람들은 볼 수 없습니다. – Rishi

+0

PHP 오류 로그에는 무엇이 있으며 Javascript 콘솔에는 무엇이 있습니까? 둘 다 확인하고 오류가 없는지 확인하십시오. – manishie

답변

1

감사드립니다. admin_footeradmin_head'actionname-$hook'을 대상으로 동일한 화면에 동의 함을

참고 :

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이 분과는 달리 말하고,하지만이 공식 입장이었다 확신했다. 나는 조사 중이며 다시보고 할 것이다.


작동하고 내가 사용하는이 방법으로 여러 번 본 적이 있지만 내가 올바른 후크되는 admin_print_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

1

제거하십시오 : 당신이에서이있어 어디

require_once('index.php'); 

잘 모르겠어요 완성도를 들어,이 admin_enqueue_scripts 작품 방법이다. 그것은 wordpress 'index.php 파일을 다시로드하려고하는 것으로 나타납니다.

+0

감사합니다. 오류가 삭제되었습니다. 그러나 색상 선택 도구는 여전히 작동하지 않습니다. 그것은 단지 일반적인 입력 상자입니다. – Rishi

+0

입력 요소가 다음과 같이 보입니까? manishie

관련 문제