it-swarm-vi.tech

Cách liên kết các tệp jQuery/Javascript bên ngoài với WordPress

Vì vậy, tôi đang sử dụng Starkers để dựa trên chủ đề WP tiếp theo của mình và tôi gặp phải một vấn đề nhỏ, tôi đã đưa phiên bản jQuery của riêng mình vào tệp header.php nhưng khi kiểm tra trang web của tôi bằng Fireorms, tôi nhận thấy jquery đã được tải xuống hai lần, tôi đã thực hiện một số hoạt động đào và nhận thấy rằng tôi không chỉ bao gồm tập tin mà còn cả chức năng wp_head().

Khi cố gắng khắc phục sự cố, tôi nhận thấy một nhận xét trong tệp tiêu đề, trong đó xuất phát từ chủ đề 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
 */

Vì vậy, đây là vấn đề của tôi, tôi có ấn tượng rằng tệp jQuery phải được đặt trước bất kỳ tệp nào khác muốn sử dụng và đó là wp_head() nên là điều cuối cùng trong phần tử <head>, hiện tại tôi hơi bối rối vì tôi băn khoăn không nên đặt wp_head() ở trên cùng để tệp jQuery được bao gồm WP sẽ được sử dụng cho tất cả các plugin của tôi, mặc dù nó nói không làm như vậy.

Tôi đã nhận xét dòng jQuery trong hàm wp_head() nhưng nó được yêu cầu cho trang quản trị nên tôi phải đặt lại.

Tôi cũng muốn sử dụng (ít nhất là thử nghiệm) với việc sử dụng phiên bản Google CDN của jQuery, nhưng không muốn bao gồm hai lần!

Tôi hy vọng bạn hiểu những gì tôi đang cố gắng giải thích, bất kỳ đề xuất nào về cách tôi có thể giải quyết vấn đề này sẽ được đánh giá cao nhất. Tôi cũng đánh giá cao bất kỳ lời khuyên nào về cách bạn xử lý các tệp JavaScript của mình với tệp tiêu đề.

Cảm ơn!

15
Ben Everard

Từ cách đặt câu hỏi của bạn, bạn phải thêm tập lệnh bằng cách viết các thẻ <script> trong mẫu của bạn. Thêm tập lệnh của riêng bạn qua wp_enqueue_script() trong mẫu functions.php của mẫu của bạn, thiết lập một cách thích hợp các phụ thuộc vào jQuery và wp_head() sẽ thêm tập lệnh cho bạn.

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

Xem trang codex để biết thêm thông tin.

9
Annika Backstrom

Tôi khuyên bạn nên xem 5 Mẹo để sử dụng jQuery với WordPress . Trong số những thứ khác, nó cho thấy mã cần thiết để tải jQuery từ thư viện của Google:

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');

Bạn cũng có thể kiểm tra Sử dụng Thư viện Google plugin.

7
Travis Northcutt