Code Thay cho Plugin WordPress: Minify CSS, JS

6 Likes Comment

Bình thường chúng ta hay dùng Minify CSS, JS thông qua plugin như WP Super Minify chả hạn tuy nhiên với tư duy không thích dùng plugin thì mình chỉ cần 1 function để giải quyết vấn đề là song

Đoạn code dưới đây sẽ cho phép nén thẳng trực tiếp vào file mà web chúng ta đang dùng chỉ cần thêm đoạn code bên dưới vào file function.php của theme là được,

Lưu Ý: đoạn code này có nguy cơ xung đột với wpdiscuz không hiển thị được ô comment cân nhắc trước khi dùng.

function minify_resources() {
  if (!is_admin()) {
    // Tối ưu hóa tài nguyên CSS
    add_filter('style_loader_src', function($href) {
      if (strpos($href, 'wp-includes') === false) {
        $minified_css = WP_CONTENT_DIR . '/cache/' . md5($href) . '.css';
        if (file_exists($minified_css)) {
          return str_replace(WP_CONTENT_DIR, WP_CONTENT_URL, $minified_css);
        } else {
          $buffer = file_get_contents($href);
          $minified = preg_replace('/\s+/', ' ', $buffer);
          $minified = preg_replace('/\/\*.*?\*\//', '', $minified);
          file_put_contents($minified_css, $minified);
          return str_replace(WP_CONTENT_DIR, WP_CONTENT_URL, $minified_css);
        }
      }
      return $href;
    });

    // Tối ưu hóa tài nguyên JS
    add_filter('script_loader_src', function($src) {
      if (strpos($src, 'wp-includes') === false) {
        $minified_js = WP_CONTENT_DIR . '/cache/' . md5($src) . '.js';
        if (file_exists($minified_js)) {
          return str_replace(WP_CONTENT_DIR, WP_CONTENT_URL, $minified_js);
        } else {
          $buffer = file_get_contents($src);
          $minified = preg_replace('/\s+/', ' ', $buffer);
          file_put_contents($minified_js, $minified);
          return str_replace(WP_CONTENT_DIR, WP_CONTENT_URL, $minified_js);
        }
      }
      return $src;
    });
  }
}
add_action('wp_enqueue_scripts', 'minify_resources');

Chúng ta cùng xem code trước khi áp dụng

Sau khi áp dụng code

Lưu ý:

Đoạn code này sẽ không áp dụng với những file trong wp-includes nếu cần bạn phải chỉnh sửa lại cho phù hợp nhé

5 1 vote
Article Rating

You might like

Avatar

About the Author: Vô Ưu

Xin chào! Tôi là Vouu, người sáng lập blog này. Tôi là một người yêu thích. Tôi có một công việc ban ngày với tư cách là một chuyên viên bơm vá săm xe các loại, và trang web này là một trong những hoạt động yêu thích của tôi, đặc biệt là trong những lúc rảnh rỗi. Hy vọng bạn thích sử dụng trang web này, và nó sẽ mang lại cho bạn nhiều điều bổ ích. Phản hồi từ người đọc sẽ truyền cảm hứng cho tôi để tôi có thể viết được nhiều hơn nữa !. Bạn chỉ cần để lại nhận xét bên dưới nếu bạn thấy bài viết này hữu ích. Chúc bạn ngày mới tốt lành!
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x