2010-03-25 32 views
5

tôi cố gắng cho chúng tôi wp_enqueue_script để tải javascript của tôi, đây là mã của tôi:WordPress Vấn đề với wp_enqueue_script

<?php wp_enqueue_script('slider','/wp-content/themes/less/js/slider.js',array('jquery'),'1.0'); ?> 

Nó không làm việc, khi tôi nhìn vào nguồn, nó quay là:

<script type='text/javascript' src='http://localhost/wp/wp-content/themes/less/js/slider.js?ver=2.9.2'></script> 

? Ver = 2.9.2 được tự động thêm vào cuối, tôi đoán đây là lý do, làm thế nào tôi có thể sửa nó.

+0

@Zack bằng cách thêm vào cuối 'ver = 2.9.2'? – ant

+0

? Ver = 2.9.2 được tự động thêm vào cuối – Zack

+0

@ c0mrade, tôi đã cố gắng thêm? Ver = 2.9.2, vào liên kết, làm cho nó: /wp-content/themes/less/js/slider. js? ver = 2.9.2 hoạt động, kết quả là: vì vậy đây là cách chính xác, đúng không? – Zack

Trả lời

5

Để xóa thông số phiên bản bạn cần thêm bộ lọc. Đây là cách tôi sử dụng jQuery của Google mà không có chuỗi truy vấn:

<?php 
// Use the latest jQuery version from Google 
wp_deregister_script('jquery'); 
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', false, false); 
wp_enqueue_script('jquery'); 

add_filter('script_loader_src', 'toscho_script_loader_filter'); 

function toscho_script_loader_filter($src) 
{ 
    if (FALSE === strpos($src, 'http://ajax.googleapis.com/')) 
    { 
     return $src; 
    } 
    $new_src = explode('?', $src); 

    return $new_src[0]; 
} 
?> 

Bạn thậm chí có thể sử dụng bộ lọc cuối cùng để thêm vars truy vấn của riêng mình.

Thông thường chuỗi truy vấn không được ảnh hưởng đến tập lệnh của bạn. Tôi loại bỏ nó chỉ để tăng xác suất mà người dùng có thể sử dụng phiên bản được lưu trong bộ nhớ cache của tệp này.

+0

toscho, làm cách nào để tôi có thể điều chỉnh tập lệnh của bạn thành hàm add_action có chức năng "jquery include" tùy chỉnh? các chức năng tùy chỉnh chỉ làm những gì bạn đã làm int ông đầu tiên hai dòng và không có wp_enqueue_script ở cuối. – ilia

+0

@ilia, xin lỗi, tôi thực sự không hiểu câu hỏi của bạn. Có lẽ bạn nên mở [câu hỏi mới] (http://stackoverflow.com/questions/ask) và hiển thị mã mà bạn đang làm việc. – fuxia

+0

vâng tôi có cảm giác nó sẽ không rõ ràng nhưng tôi đã hy vọng tránh tạo ra một câu hỏi mới bởi vì nó là trong thực tế, một tình huống rất giống nhau và đủ khác nhau mà tôi vẫn gặp rắc rối với nó. Dù sao, tôi tạo ra một câu hỏi cho nó ở đây http://stackoverflow.com/questions/5256025/how-can-i-remove-version-query-var-from-jquery-include-function-in-wordpress – ilia

9

Tài liệu Wordpress kém tài liệu về vấn đề này.

Thay đổi từ false thành null trong tham số cuối cùng thứ hai để xóa ?ver=2.9.2.

2

Bạn có thể sử dụng null làm tham số thứ tư nếu bạn đang sử dụng Wordpress 3.0.Điều này sẽ có hiệu quả loại bỏ phiên bản.

1

Thay đổi mã của bạn để:

<?php wp_enqueue_script('slider','/wp-content/themes/less/js/slider.js',array('jquery'),null); ?>