programing

WordPress에서 jQuery noConflict 모드를 끄는 방법이 있습니까?

i4 2023. 3. 12. 10:25
반응형

WordPress에서 jQuery noConflict 모드를 끄는 방법이 있습니까?

끌 수 있는 방법은 없나요?jQuery.noConflictWordPress에서요?jQuery의 대체 버전을 로드하거나 로드 방법을 변경하는 것이 아닙니다.

jQuery(document).ready(function( $ ) { ... });

또는

(function($) { ... })( jQuery );

내 말은, 그냥 꺼버릴 방법은 없을까?noConflictwordPress에 번들된 jQuery 버전의 모드?

Like would 설정jQuery.noConflict(false)작업요? 그렇다면 어디에 설치하시겠습니까?

몇 가지 조사를 한 결과, 이것이 제가 드릴 수 있는 최선의 답변입니다.

$ = jQuery.noConflict(true);

다른 질문에 답하기 위해, 아니요, 거짓으로 전달할 수 없습니다. 이 속성은 글로벌 변수에 발생하는 작업을 제어하는 데 사용됩니다.매뉴얼은 http://api.jquery.com/jQuery.noConflict/ 에서 찾을 수 있습니다.

또한 jQuery의 두 가지 다른 버전을 로딩할 수도 있습니다(단, 권장되지 않음).

자체 javascript 라이브러리 또는 스크립트를 포함하는 경우 맨 위에 다음 항목을 추가할 수 있습니다.

 var $ = jQuery;

다른 방법을 찾아냈어 변수를$글로벌하게 이용할 수 있습니다.테마의 기능에 다음과 같은 것을 넣기만 하면 됩니다.php 또는 플러그인:

function so17687619_jquery_add_inline() {
    wp_add_inline_script( 'jquery-core', '$ = jQuery;' );
}
add_action( 'wp_enqueue_scripts', 'so17687619_jquery_add_inline' );

이렇게 하면 출력됩니다.$ = jQuery;jQuery 스크립트 태그 바로 뒤에 인라인 스크립트로 표시됩니다.따라서 뒤에 포함된 스크립트는 jQuery 인스턴스를 다음과 같이 사용할 수 있습니다.$그리고.jQuery.

이것을 추가하면, 드디어 효과가 있었습니다.

var $ = jQuery.noConflict();

헤더에 추가할 수 있습니다.php 파일은 머리 부분에 있습니다.

<script>var $ = jQuery.noConflict();</script>

또는 하위 테마를 사용하는 경우 해당 테마를 함수에 추가합니다.php를 자녀 테마 디렉토리에 저장합니다.

function my_scripts_method() {
    wp_enqueue_script(
        'custom-script',
        get_stylesheet_directory_uri() . '/main.js',
        array( 'jquery' )
    );
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

또한 functions.php와 같은 위치에 main.js 파일을 작성하고(자테마 direcotry 내) 이 파일에 다음 내용을 추가합니다.

var $ = jQuery.noConflict();

함수로 쓰는 게 좋겠어요.php

wp_deregister_script 함수는 등록된 스크립트를 삭제합니다.

function remove_default_jquery()
{
  // if is not admin screen
  if (!is_admin()) {
//this function
    wp_deregister_script('jquery');
}


//wp_enqueue_scripts is WordPress fook for JavaScript
add_action('wp_enqueue_scripts', 'remove_default_jquery');

WordPress에서 jQuery를 사용하는 경우

평소처럼 jQuery를 사용할 수 있습니다.

<script type="text/javascript">

//jQuery in WordPress
jQuery(function($){
    $('.carousel').carousel();
    $('.count_num').counterUp({
    delay: 10,
    time: 1000
    });
});
</script>

공개 문서는 여기에 있습니다.

https://developer.wordpress.org/reference/functions/wp_deregister_script/

꺼진 경우 꺼짐으로 이동wp-includes/js/jquery/jquery.js파일링 및 삭제jQuery.noConflict()마지막 줄부터.또는 제안하신 대로 부울을 false로 설정합니다.

아니면 jquery.com에서 다운로드 받은 콘텐츠로 대체할 수도 있습니다.트랙에서는 격렬한 논쟁이 벌어지고 있습니다.

언급URL : https://stackoverflow.com/questions/17687619/is-there-a-way-turn-off-jquery-noconflict-mode-in-wordpress

반응형