플러그인에서 JavaScript를 대기열에 넣는 방법


14

이번에는 플러그인 폴더에 JavaScript 파일을 포함시키는 데 많은 어려움을 겪고 있습니다.

테마 디렉토리에서 위젯 파일을 전송하여 플러그인을 작성하려고합니다. 위젯 파일을 복사했지만 해당 위젯 파일은 JavaScript 파일에 의존하므로 플러그인 디렉토리에 / js / 폴더를 작성했습니다. 이 파일은 "jquery.repeatable.js"호스팅됩니다

이 코드를 사용했지만 js 파일을 포함하지 않는 것 같습니다.

function Zumper_widget_enqueue_script()
{   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js' );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

나는 이것을 /programming/31489615/call-a-js-file-from-a-plugin-directory 에서 검색했습니다.

그러나 여전히 이것은 도움이되지 않았습니다.

내 질문을 다시 요약하고 있습니다. 내 플러그인 디렉토리에는이 폴더 아래에 js 파일이 있습니다-/ js /

올바른 프로세스가 무엇인지 포함하고 싶습니다. 무언가를 등록해야합니까?

이 부분에 문제가 'admin_enqueue_scripts'있습니까?


답변:


30

코드가 올바른 것 같지만 스크립트를 admin_enqueue_scripts실제로 대기열에 넣기 때문에 관리 영역에서만 스크립트를로드합니다 .

프론트 엔드에 스크립트를로드하려면 wp_enqueue_scriptsaction을 사용하십시오 ( wp_enqueue_script()function 과 동일하지 않음 ).

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js' );
}
add_action('wp_enqueue_scripts', 'Zumper_widget_enqueue_script');

또한 해당 스크립트는 jQuery에 의존하는 것으로 보이므로 의존성 또는 스크립트를 jQuery 전에로드 할 수 있으며 작동하지 않음을 선언해야합니다. 또한, 나는 scripot의 버전을 선언하는 것이 좋습니다. 이런 식으로 스크립트를 새 버전으로 업데이트하면 브라우저는 다시 스크립트를 다운로드하지 않고 캐시에있는 사본을 버립니다.

예를 들어, 스크립트 버전이 1.0 인 경우 :

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0' );
}
add_action('wp_enqueue_scripts', 'Zumper_widget_enqueue_script');

관리 영역에로드하려면 다음을 수행하십시오.

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0' );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

1

업데이트 :

대신이 코드를 사용하십시오

function Zumper_widget_enqueue_script()
{   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0.0', false );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

세 번째 매개 변수는 종속성을 선언하는 것이고, 네 번째 매개 변수는 버전을 정의하는 것입니다.

의 5 번째 매개 변수를 wp_enqueue_script()로 설정하십시오 true. 즉,이 파일은 바닥 글에로드됩니다.


의 세 번째 매개 변수 wp_enqueue_script()는 스크립트 종속성을 선언하는 것입니다. 다섯 번째 매개 변수는 바닥 글이나 머리글에 스크립트를로드하려는 경우 선택하는 매개 변수입니다. 어쨌든,로드 할 곳이 차이가 있다고 생각하지 않습니다.
cybmeta

감사. wp_enqueue_script ( 'zumper', get_template_directory_uri (). '/ js / jquery.zumper.min.js', array ( 'jquery'), false, true); 다른 플러그인의 어딘가에서 어떤 사람이 이런 일을하고 있는지 읽었습니다. 3rd를 true로 설정하면 바닥 글에로드된다는 의미이고,이 false, true 조합은 무엇을 의미합니까?
WP 중급

내 답변을 업데이트했습니다. 작동합니까?
mukto90

1

나는 일반적으로 plugins_url () 메소드를 사용 하여 대기열에 넣습니다.

function Zumper_widget_enqueue_script()
{   
    wp_enqueue_script( 'my_custom_script', plugins_url('js/jquery.repeatable.js', __FILE__ ), '1.0.0', false );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.