2016-08-21 3 views
0
function my_customize_scripts(){ 
wp_register_script('my-customizer-js', get_template_directory_uri() .'/js/customizer.js', array('jquery'), 1.0, true); 
wp_enqueue_script('my-customizer-js'); 
}add_action('customize_controls_enqueue_scripts', 'my_customize_scripts', 1); 

jQuery를 파일 엔큐. 그리고 더 나쁜 것은 모든 .change() 함수의 실행 결과가 사라집니다. 전에는 잘 돌아갔고 3 일 전에는 더 이상 일하지 않았습니다. 이 파일 customizer.js은이 후크 customize_controls_enqueue_scripts과 함께 대기열에 추가해야하며, 다른 방법으로는 맞춤 설정 도구에서 작동하지 않습니다. 음, 적어도 내가 아는 한, 다른 모든 후크를 시도했기 때문입니다.워드 프레스의 핵심 jQuery를 충돌 페이지를로드하기 시작하는 경우에만 작동하지만로드 될 때 그냥 작동하지 않을 것 <code>customize_controls_enqueue_scripts</code> 후크

이것은 jQuery 코드 안에 입력에 따라 요소 change() 기능을 갖는다 customizer.js

jQuery(document).ready(function($){ 
//code here 
} 

래핑 방법이다.

나는 워드 프레스의 핵심 jQuery를 큐에서 다음

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 

처럼, 내 header.php 단지 wp_head 전에 하드 구글 API를 추가 wp_derejister_script('jquery');을 시도하고 일했다,하지만 옵션이 아니다. 내 웹 사이트에서 Wordpress 핵심 jQuery를 실행하고 싶습니다. 작업을 중단했을 때 수행 한 모든 변경 사항을 실행 취소하려고했습니다 (customizer.js). 또한이 파일을 줄이려고 시도하고 하나만 제외하고 모든 이벤트를 제거했습니다. 그것은 어느 쪽도 도움이되지 않았다. 그러나 함수 안에 넣은 alert();은 잘 작동합니다.

제발, 어떤 도움을 주시면 감사하겠습니다.

P. 다른 js 파일도 검사했는데 정상적으로 작동하는 것을 볼 수 있습니다. 나는 또한 customizer.js를 일반적인 방법으로 대기열에 넣으려고했습니다. wp_enqueue_script() 맞았는지 맞춰보세요. 작동하지 않았습니다. 이번 질문에 처음으로 질문합니다. 이것이 나의 마지막 희망입니다.

답변

1

wp_register_script의 매개 변수는 $required입니다. 따라서 (다른) "요구하는"jQuery를 사용하면 WP가 다시 초기화되어 포함됩니다.

트릭은 jquery 스크립트를 자신의 것으로 다시 등록하여 대체하는 것입니다.

wp_deregister_script('jquery'); // remove WP jquery that relies on v1 
wp_enqueue_script('jquery', '//code.jquery.com/jquery-3.1.0.min.js', array(), $ver, true);