Để đưa tất cả mã JavaScript của website WordPress xuống footer (chân trang), bạn cần thực hiện một số điều chỉnh trong mã của theme, giúp giảm thời gian tải trang và cải thiện hiệu suất website. WordPress cho phép bạn dễ dàng di chuyển mã JavaScript xuống footer thông qua hook wp_footer
hoặc sửa đổi cách thức nạp các tệp JavaScript trong theme hoặc plugin.
Di Chuyển Mã JavaScript Đến Footer Thông Qua Hook
Để đảm bảo rằng mã JavaScript được nạp ở cuối trang (footer), bạn có thể sử dụng hook wp_footer
trong WordPress. Dưới đây là cách bạn có thể làm điều này.
Cách 1: Sử Dụng Hook wp_footer
Để Thêm JavaScript
Thêm đoạn mã sau vào tệp functions.php
của theme bạn đang sử dụng:
1 2 3 4 5 6 7 8 9 10 11 12 | // Di chuyển tất cả JavaScript xuống footer function muathemewpgiare_move_js_to_footer() { // Kiểm tra xem có mã JavaScript nào đang được nạp hay không if (is_admin()) { return; // Không áp dụng với bảng điều khiển admin } // Dùng wp_enqueue_script để đưa các file JS vào footer remove_action('wp_head', 'wp_enqueue_scripts', 1); add_action('wp_footer', 'wp_enqueue_scripts', 5); } add_action('wp', 'muathemewpgiare_move_js_to_footer'); |
Cách 2: Di Chuyển JavaScript Của Các Plugin Sang Footer
Nếu bạn đang sử dụng các plugin và muốn đưa tất cả JavaScript của plugin đó xuống footer, bạn có thể sử dụng các filter của WordPress để thực hiện điều này.
Đoạn mã di chuyển JavaScript plugin sang footer:
1 2 3 4 5 6 7 8 9 10 | // Đưa JavaScript của các plugin xuống footer function muathemewpgiare_move_plugin_js_to_footer($tag, $handle) { // Kiểm tra các plugin đang sử dụng, nếu cần thiết bạn có thể chỉ định các plugin cụ thể ở đây if (in_array($handle, array('plugin-handle-name'))) { return str_replace(' src', ' defer="defer" src', $tag); // Thêm thuộc tính "defer" vào script } return $tag; } add_filter('script_loader_tag', 'muathemewpgiare_move_plugin_js_to_footer', 10, 2); |
2. Di Chuyển Script Cụ Thể Xuống Footer
Ngoài cách sử dụng các hook và filter toàn cục, bạn có thể di chuyển các script cụ thể của theme hoặc plugin xuống footer. Ví dụ:
1 2 3 4 5 6 7 8 9 | // Đưa các script cụ thể xuống footer function muathemewpgiare_enqueue_footer_js() { // Nếu là trang không phải Admin if (!is_admin()) { // Đưa các script JavaScript vào footer wp_enqueue_script('your-script-handle', get_template_directory_uri() . '/js/your-script.js', array(), false, true); } } add_action('wp_enqueue_scripts', 'muathemewpgiare_enqueue_footer_js'); |
3. Tối Ưu Hóa Mã JavaScript
Khi di chuyển các script JavaScript xuống footer, bạn cũng có thể muốn tối ưu hóa và giảm kích thước của các tệp JavaScript để tăng tốc độ tải trang:
Cách 1: Sử dụng minify (nén) JavaScript
Bạn có thể sử dụng các công cụ nén JavaScript như UglifyJS hoặc Terser để giảm kích thước các tệp JavaScript.
Cách 2: Sử dụng async hoặc defer cho JavaScript
async: Các tệp JavaScript sẽ được tải song song với phần còn lại của trang, nhưng chúng sẽ không ảnh hưởng đến việc rendering của trang.
defer: Tương tự như async, nhưng đảm bảo rằng mã JavaScript sẽ được thực thi sau khi toàn bộ HTML đã được tải xong.