it-swarm-ko.tech

WordPress에 외부 jQuery/Javascript 파일을 연결하는 방법

그래서 Starkers를 사용하여 다음번 WP 주제를 기반으로하고 작은 문제가 생겼습니다. header.php 파일에 내 자신의 jQuery 버전을 포함 시켰지만 Firebug를 사용하여 내 사이트를 검사 할 때 jquery가 발견되었습니다. 두 번 다운로드 받았을 때, 나는 약간의 파고를했고 파일을 포함했을뿐만 아니라 wp_head() 함수도 발견했습니다.

문제를 해결하기 위해 헤더 파일에서 주석을 발견했습니다.이 파일은 Twenty Ten 테마에서 나온 것입니다.

/* Always have wp_head() just before the closing </head>
 * tag of your theme, or you will break many plugins, which
 * generally use this hook to add elements to <head>, such 
 * as styles, scripts, and meta tags
 */

그래서 여기 내 문제는, 나는 인상을 받고있다. jQuery 파일은 사용하고 싶은 다른 파일보다 먼저 설정되어야하고 wp_head()<head> 요소의 마지막 요소 여야한다. 나는 지금 약간 혼란 스럽다. 궁금하면 wp_head()을 맨 위에 놓아야합니다. 그렇게하지 않더라도 WP 포함 된 jQuery 파일이 모든 플러그인에 사용됩니다.

wp_head() 함수에서 jQuery 행을 주석 처리했지만 관리 페이지에는 필수 항목이므로 다시 넣어야했습니다.

또한 jQuery의 Google CDN 버전을 사용하여 (적어도 실험) 사용하고 싶지만 두 번 포함시키지 않으려 고합니다.

제가 설명하려고하는 것을 이해해 주시길 바랍니다. 어떻게이 문제를 해결할 수 있는지에 대한 제안이 가장 감사 할 것입니다. 또한 헤더 파일을 사용하여 JavaScript 파일을 처리하는 방법에 대한 조언을 주시면 감사하겠습니다.

감사!

15
Ben Everard

귀하의 질문의 문언에서 템플릿에 <script> 태그를 작성하여 스크립트를 추가해야합니다. 템플릿의 functions.php에서 wp_enqueue_script() 를 통해 자신 만의 스크립트를 추가하고 jQuery에 대한 의존성을 적절히 설정하면 wp_head()이 스크립트를 추가합니다.

function my_scripts() {
    wp_enqueue_script( 'my-sweet-script', get_bloginfo('template_directory') . '/script.js', array('jquery') );
}
add_action('template_redirect', 'my_scripts');

자세한 내용은 코덱스 페이지 를 참조하십시오.

9
Annika Backstrom

WordPress에서 jQuery를 사용하기위한 5 가지 팁 을 살펴 보는 것이 좋습니다. 무엇보다도 Google 라이브러리에서 jQuery를로드하는 데 필요한 코드를 보여줍니다.

function my_init() {
    if (!is_admin()) {
        // comment out the next two lines to load the local copy of jQuery
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.3.2');
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'my_init');

Google 라이브러리 플러그인 사용을 확인할 수도 있습니다.

7
Travis Northcutt

@tnorthcutt가 자신의 WP를 네이티브 jquery로부터 적절하게 빼내야 만하는 것은 맞지만 WP core와 다른 jquery 버전을로드 할 때 문제가 발생합니다. 코어와 플러그인 모두 거기에 의존합니다. 따라서 WP가 업데이트 될 때마다 최신 jquery로 테마를 업데이트하지 않으면 사이트가 중단 될 수 있습니다.

다음 코드는 WP 버전을 찾고 Google에서 해당 버전을로드하여 테마가 항상 올바른 jquery 버전을로드하는지 확인합니다.

$wp_jquery_version = $GLOBALS['wp_scripts']->registered['jquery-core']->ver;
$jquery_version = ( $wp_jquery_version == '' ) ? '1.8.3' : $wp_jquery_version; // fallback, just in case 
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/'. $jquery_version .'/jquery.min.js', $jquery_version, false );
wp_enqueue_script('jquery');
1
cjbj