WordPress đi kèm với một loạt các tập lệnh mặc định mà bạn có thể sử dụng để cung cấp năng lượng cho các chủ đề và plugin của mình. jQuery là script thường được sử dụng, giống như TinyMCE. Nhưng nếu bạn muốn tích hợp tập lệnh jQuery của riêng mình thì sao?

Gần đây, chúng tôi đã chỉ ra cách thêm đúng cách các tập lệnh jQuery vào cài đặt của bạn. WordPress sử dụng cùng một cơ chế nội bộ, có nghĩa là chúng ta có thể xóa hoặc thậm chí thay thế các tập lệnh được xếp hàng đợi bằng các tập lệnh của riêng mình.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách unregister Các tập lệnh hiện có để bạn có thể thêm các tập lệnh của riêng bạn. Chúng tôi cũng sẽ giới thiệu cho bạn các trường hợp khác nhau mà bạn có thể làm điều đó và cho bạn biết lý do tại sao một số người nghĩ rằng việc xóa một tập lệnh nội bộ là vô trách nhiệm.

Tại sao phải sửa đổi các tập lệnh nội bộ: Trường hợp của jQuery?

Có một loạt các tình huống mà bạn có thể muốn sửa đổi các tập lệnh nội bộ đã tải. Ví dụ: WordPress hiện sử dụng jQuery 1.11.3 theo mặc định, tuy nhiên, phiên bản mới nhất thực sự là 1.12.3 hoặc 2.2.3. Nếu bạn đang viết một ứng dụng dựa trên chức năng jQuery nâng cao, bạn có thể cần sử dụng phiên bản mới hơn của tập lệnh.

Tôi cũng gặp phải tình huống trong đó một plugin cũ gây ra sự cố với các tập lệnh lỗi thời. Trong trường hợp này, một khách hàng đang dựa vào một plugin, nhưng tập lệnh đã tải không thực sự được sử dụng. Chúng tôi nghĩ rằng loại bỏ nó là lựa chọn tốt nhất, nhưng thay vì sửa đổi trực tiếp mã plugin sẽ ngăn các bản cập nhật trong tương lai, chúng tôi quyết định sử dụng một plugin mới để sửa đổi các tập lệnh đã tải.

Điều quan trọng cần lưu ý là mặc dù có những trường hợp hợp pháp mà bạn có thể xóa và thay đổi các tập lệnh được tải bởi lõi của WordPress và các plugin hoặc chủ đề khác, bạn nên luôn suy nghĩ kỹ và tiến hành một cách thận trọng.

Nếu bạn buộc một phiên bản jQuery mới trên Website, ví dụ, nó có thể gây ra các vấn đề tương thích không lường trước được. Bạn nên luôn kiểm tra WordPress cục bộ nếu có thể và tránh sửa đổi / xóa các tập lệnh trừ khi thực sự cần thiết.

Chúng ta có nên xóa mã nội bộ khỏi WordPress

Cách chỉnh sửa tập lệnh

Nhờ vào sự kỳ diệu của WordPress, bạn có thể sửa đổi bất kỳ tập lệnh nào được tích hợp trong chủ đề của mình hoặc thậm chí tạo một plugin để làm điều đó cho bạn. Điều này có nghĩa là bạn không phải (và sẽ không!) Thay đổi mã gốc tải tập lệnh vi phạm. Hãy để tôi cung cấp cho bạn một số ví dụ.

Giả sử chủ đề của bạn sử dụng tập lệnh mà bạn muốn xóa hoặc thay thế. Trong trường hợp này, bạn có thể tạo một chủ đề con và tải mã yêu cầu.

Nếu bạn muốn sửa đổi các tập lệnh có trong plugin, bạn có thể thực hiện các thay đổi cần thiết trong chủ đề con của mình hoặc trong một plugin mới. Tùy thuộc vào phạm vi của dự án, tôi khuyên bạn nên tạo một plugin đặc biệt để sửa đổi tập lệnh của các plugin khác.

Nếu bạn muốn chỉnh sửa tập lệnh WordPress cơ bản, tốt nhất bạn nên thực hiện nó trong sản phẩm bạn đang viết. Nếu bạn đang làm việc với một plugin, bạn nên thực hiện nó trên nó, nếu đó là một chủ đề, bạn phải thực hiện nó trên tệp tin.php.

"Hủy đăng ký" Tập lệnh

Nếu bạn chưa xem hướng dẫn trước về cách thêm tập lệnh đúng cách trong WordPress, bạn có thể làm như vậy ngay bây giờ và quay lại. Chúng tôi đã thấy rằng phương pháp thêm tập lệnh vào WordPress là đăng ký chúng. Tất nhiên, việc xóa bỏ của họ là quy trình ngược lại, có nghĩa là "hủy đăng ký" hay đúng hơn là hủy đăng ký. Đã xong bằng cách sử dụng hàm wp_deregister_script () như thế này:

wp_deregister_script ('jquery');

Tham số duy nhất bạn cần ở đây là không gian tên của tập lệnh. Không gian tên được cung cấp khi tập lệnh được lưu và bạn có thể đọc bài đăng của tôi về cách thêm jQuery cho WordPress để biết thêm thông tin chi tiết.

Sử dụng mã ở trên sẽ loại bỏ hoàn toàn tập lệnh jQuery.

Thay thế Scripts

Nếu bạn muốn thay thế một tập lệnh, việc lưu nó với các tham số mới là không đủ (những thứ này sẽ bị bỏ qua). Bạn phải hủy đăng ký và sau đó đăng ký lại tập lệnh. Đây là một ví dụ nhanh:

function my_enqueued_assets () {wp_deregister_script ('jquery'); wp_enqueue_script ('script-name', '//code.jquery.com/jquery-2.2.3.min.js', array (), '2.2.3'); } add_action ('wp_enqueue_scripts', 'my_enqueued_assets');

Tìm tập lệnh đã lưu

Nếu bạn đang tìm kiếm tất cả các tập lệnh mà WordPress lưu, bạn sẽ gặp may. Hãy xem tài liệu wp_enqueue_scripts và bạn sẽ tìm thấy một bảng trong tầm tay.

Tuy nhiên, việc tìm kiếm các tập lệnh được lưu bằng plugin khó hơn một chút. Bạn có thể liệt kê tất cả các tập lệnh trong hàng đợi bằng cách bỏ nội dung của biến $wp_scripts.

toàn cầu $ wp_scripts; echo ' ';
var_dump ($ wp_scripts);
echo ' ';

Một phương pháp khác mà tôi sử dụng là tìm kiếm wp_enqueue_scripts trong thư mục plugin của mình. Điều này cho phép tôi xem plugin nào chịu trách nhiệm cho tập lệnh nào trên trang web của tôi.

Tại sao kịch bản thay thế không phải lúc nào cũng là một ý tưởng tốt

Mặc dù một số nhà phát triển chủ đề và plugin có thể thấy cần thiết phải tải các tập lệnh của riêng họ, và đặc biệt là một phiên bản jQuery khác, nhưng có một số tranh cãi trong cộng đồng WordPress về việc liệu nó có thực sự thích hợp để tải nó hay không. làm.

Với thực tế là WordPress tải jQuery ở chế độ noConflict, có rất ít khả năng xảy ra xung đột và do đó các chủ đề sẽ không thay đổi hoạt động của WordPress và đặc biệt là WordPress cập nhật phiên bản nhúng của jQuery thường xuyên.

Tóm tắt

Khi gỡ bỏ hoặc thay thế script, việc không nên làm hàng ngày, điều quan trọng là phải biết thực hiện đúng cách để khi gặp tình huống cần thiết, bạn có thể thực hiện mà không cần lo lắng và không bị “phá vỡ”. blog của bạn.

Bằng cách hủy đăng ký tập lệnh thông qua plugin tùy chỉnh, bạn đảm bảo rằng bạn không sửa đổi mã nguồn của WordPress hoặc chủ đề mà bạn không phải là tác giả, điều này sẽ cho phép bạn giữ an toàn cho mã của mình trong suốt thời gian cập nhật.