Làm cách nào để xóa một tập lệnh trong wordpress?

Bài đăng này là một phần của loạt bài về giảm thời gian tải trang web WordPress của bạn. Để xem thêm, tham khảo các liên kết dưới đây

Khi cài đặt các plugin trong WordPress, bạn có thể nhận thấy rằng đằng sau hậu trường, chúng đang đăng ký các tệp Javascript trên các trang rõ ràng là không cần chúng

Chẳng hạn, một plugin liên hệ có thể đăng ký một số tệp Javascript trên mỗi trang của trang web của bạn khi những tệp này chỉ cần thiết trong một ngữ cảnh cụ thể (trang Liên hệ)

Các tập lệnh này có thể trở thành gánh nặng nếu bạn đã cài đặt một số plugin

Hiện tại, đã có một số yêu cầu từ người dùng yêu cầu các nhà phát triển plugin loại bỏ các tập lệnh này trên các trang không cần thiết nhưng ý tưởng này vẫn chưa được thực hiện và vì vậy bạn sẽ thấy các tập lệnh này ngay cả trên các trang mà họ

Những gì chúng tôi sẽ làm là xử lý các tập lệnh này bằng cách sử dụng PHP và một bản sao cục bộ của plugin

Trước tiên, điều bạn muốn làm là truy cập bất kỳ trang nào mà bạn nghi ngờ có thể đang tải tập lệnh từ plugin mà chúng không cần thiết và nhấp chuột phải > Xem nguồn trang. Nếu bạn bắt gặp bất kỳ tệp js nào, hãy xem chúng và đảm bảo rằng chúng thực sự cần thiết, nếu không, hãy ghi lại tên của chúng và mọi thông tin nhận dạng về chúng

Từ đường dẫn tệp, bạn sẽ có thể suy ra plugin nào bao gồm chúng

Những gì chúng ta cần là xử lý các tập lệnh này có thể được tìm thấy bằng cách xem qua hàm wp_enqueue_script() tương ứng của chúng. Các plugin khác nhau bao gồm các tập lệnh trong các tệp khác nhau, vì vậy có thể hơi tẻ nhạt khi cố gắng tìm chức năng bao gồm tương ứng của chúng mà không thực hiện một số thao tác trước. Những gì chúng tôi muốn làm là lấy một bản sao của plugin trên máy chủ cục bộ của chúng tôi, có hai cách để thực hiện việc này

  • Tải xuống plugin bên ngoài dưới dạng zip (Thông qua trang dành cho nhà phát triển)
  • Sử dụng ftp để kết nối với máy chủ từ xa của bạn

Rất có thể nếu bạn đã quen với việc sử dụng IDE, thì IDE mà bạn đang sử dụng có phương thức kết nối với máy chủ từ xa

Thực hiện tìm kiếm nhanh thông qua trình quản lý tiện ích mở rộng IDE của bạn cho “ftp từ xa” và bạn sẽ tìm thấy tiện ích phù hợp với mình. Nếu không, bạn có thể sử dụng Filezilla

Sau khi bạn có plugin cục bộ, hãy mở thư mục của nó trong trình khám phá tệp và thực hiện tìm kiếm “wp_enqueue_script” (không có dấu ngoặc kép)

Điều này sẽ trả về một danh sách tất cả các tệp chứa lệnh gọi đến chức năng này

Khi bạn có danh sách này, hãy xem chuỗi theo sau dấu ngoặc mở của lệnh gọi hàm. Bạn đang tìm phần xử lý của tập lệnh, đây là một ví dụ

wp_enqueue_script( 'main', get_stylesheet_directory_uri() . '/js/main.js');

Trong trường hợp này, tay cầm là 'chính'.
Sau khi bạn đã tìm thấy phần xử lý của các tệp mà bạn muốn xóa, hãy chuyển đến chức năng của bạn. php và dán cái này.

add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );

function my_deregister_javascript() {
   if ( !is_page('Contact') ) {
    wp_deregister_script( 'handle1' );
    wp_deregister_script( 'handle2 );
    wp_deregister_script( 'handle3' );
     }
}

Thay thế 'Liên hệ' bằng tên của trang bạn muốn loại bỏ các tập lệnh trên đó và các tay cầm bằng các chuỗi bạn đã tìm thấy trước đó. Một điều khác cần lưu ý là nếu bạn đã bao gồm các tập lệnh này bằng cách sử dụng một cái gì đó như

Trong tệp mẫu thực tế, các tập lệnh này sẽ không bị xóa. Tốt nhất là bao gồm các tập lệnh trong các chức năng. php vì một vài lý do

  1. Đảm bảo rằng nếu một tập lệnh có phần xử lý giống hệt nhau đã được đăng ký thì tập lệnh đó sẽ không bị xếp hàng hai lần
  2. (Trái ngược với việc sử dụng tập lệnh nội tuyến) Trình duyệt sẽ chỉ phải tải tệp một lần tại thời điểm đó, tệp sẽ trở thành bộ đệm
  3. Khi dự án phát triển về quy mô, khả năng đọc sẽ không bị ảnh hưởng vì tất cả các tập lệnh của bạn sẽ có thể được tìm thấy ở một vị trí trung tâm

Đây là một trong nhiều cách để đảm bảo rằng thời gian tải trang WordPress của bạn ở dưới bốn giây, để có thêm ý tưởng, hãy xem một số bài đăng khác của tôi

Cách xóa / Dequeue / Deregister Script trên WordPress

Cập nhật lần cuối. 28 Tháng sáu, 2020. Thời gian đọc. < 1 phút

Đôi khi, việc sử dụng một chủ đề cao cấp phức tạp với vô số tính năng có thể tiềm ẩn nguy cơ xung đột tập lệnh. Thông thường, nó tải các tập lệnh mà chúng tôi thậm chí không sử dụng, dẫn đến thời gian tải vô lý và (như tôi đã nói) làm tăng khả năng xung đột với các plugin

Khách hàng của tôi đã yêu cầu một plugin sử dụng đồng vị. js gần đây và tôi không thể làm cho nó hoạt động bình thường như hiện tại. Vì vậy, tôi bắt đầu theo dõi vấn đề, và phát hiện ra rằng đồng vị. js cũng được tải bởi chủ đề, cũng bởi khung của nó. Vậy ta có 3 đồng vị. js được khai báo trong một trang, thật lãng phí

Nhận biết tay cầm

Tìm ra tay cầm tải đồng vị, chúng ta có thể sử dụng biến toàn cầu $wp_scripts để in nó ra

global $wp_scripts;
var_dump($wp_scripts);

Nó sẽ in ra thông tin xử lý

...
["jquery-isotope"]=>
object(_WP_Dependency)#576 (6) {
["handle"]=>
string(14) "jquery-isotope"
["src"]=>
string(88) "
...

Vì vậy, bạn sẽ biết rằng tên xử lý là jquery-isotope

Dequeue và hủy đăng ký nó

Chúng tôi có thể sử dụng wp_dequeue_script để ngăn việc xử lý được in bởi WordPress hoặc sử dụng wp_deregister_script để hủy đăng ký nó khỏi WordPress, nghĩa là chúng tôi xóa hoàn toàn nó khỏi danh sách WordPress

function deregister_isotope() {
wp_dequeue_script( 'jquery-isotope' );
wp_deregister_script( 'jquery-isotope' );
}
add_action( 'wp_print_scripts', 'deregister_isotope' );

Thế là xong, chúc một ngày tốt lành

2 phản hồi

  1. Làm cách nào để xóa một tập lệnh trong wordpress?
    Bon nói.

    Xin lỗi, tôi không phải dân chuyên nghiệp.
    Tôi cần đặt mã ‘wp-scripts’ ở đâu? . tệp php
    I only know to put the ‘wp_dequeue_script’ in the functions.php file

    1. Làm cách nào để xóa một tập lệnh trong wordpress?
      pupungbp nói.

      Xin chào, Bạn có thể thêm tập lệnh trong hàm. php bên trong thư mục chủ đề của bạn. HOẶC bạn có thể sử dụng một plugin để có thể chỉnh sửa các chức năng. php ( https. //en-gb. báo chí. org/plugins/my-custom-functions ) từ bảng điều khiển WordPress của bạn