WordPress의 플러그인에서 jquery 충돌을 피하는 방탄 방법


Answers

코덱스의 다음 부분을 읽으십시오.

init 대신 wp_enqueue_scripts 훅을 사용해야 init .

그리고 jQuery.noConflict(); 를 사용해야합니다 jQuery.noConflict(); 대신 $.noConflict(); .

Question

나는 잠시 동안 워드 프레스 플러그인을 개발해 왔고, 항상 내 모든 플러그인 Jquery 충돌 문제로 다음 문제를 얻는 것처럼 보입니다.

나는 이것을 피하기 위해 여러 가지 방법을 시도해 왔지만 사용자가 내 플러그인에서 플러그인을 설치하면 다른 플러그인이 작동하지 않는다고 말하는 경우가 발생합니다.

나는 이것이 사람들을 위해 얼마나 실망 스러울 지 이해하기 때문에 이것을 분류하고 싶습니다.

난 항상 설정 및 옵션 또는 워드 프레스 jquery를 포함, 아래는 단지 작동 코드가 아닌 예제입니다.

add_action( 'init', array( $this, 'include_jquery' ) );

function include_jquery(){

                   wp_deregister_script('jquery');
                   wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"), false, '1.7.1');
                   wp_enqueue_script('jquery');

            }

좋아, 그럼 내가이 문제는 플러그인 관리자에서 jquery를 포함하도록 예 또는 아니요 토글을 선택하거나 내가 자동으로 설치되어 있지만 일부 사용자는 이것을 제거, 일부 사람들은 아니지만 모두를 위해 작동하도록 선택 옵션이 있습니다.

당신이 wordpress jquery를 포함한다면 나는 당신이 당신의 jquery를 다음과 같이 실행해야한다는 것을 안다.

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

달러 기호 $ 대신 jQuery

나는 jquery를 이해하지 못하고 갈등을 일으키지 않았고, 이것들 전부는 아니더라도 일부를 시험하고 테스트했다. http://api.jquery.com/jQuery.noConflict/

$.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
  });

이 기능은 다른 사용자와 마찬가지로 일부 사용자에게는 계속 작동하지만 일부 사용자에게는 충돌이 발생하지는 않습니다.

이 게시물에서 우리 중 일부는 WordPress 플러그인 개발자가 충돌 문제를 겪지 않고 플러그인 내에서 WordPress 및 jQuery를 사용하는 방법을 설명하고 글을 게시 할 수 있기를 바랍니다.

감사




Related