Cho phép upload file SVG

Mặc định, WordPress không cho phép quản trị viên sử dụng các file có định dạng SVG. Tuy nhiên, vì những lợi ích của file SVG mang lại chúng ta có thể điều chỉnh trang web một xíu, cho phép upload file SVG lên trang web.

File SVG

File (định dạng) SVG (Scalable Vector Graphics) được sử dụng để thể hiện hình ảnh. Khác với các định dạng thông thường mà chúng ta thường gặp như PNG, JPG, JPEG… SVG không sử dụng các điểm ảnh (pixels) để thể hiện 1 tấm ảnh. Thay vào đó, SVG sử dụng ngôn ngữ XML để đặc tả hình học (các điểm, đoạn thẳng, đường cong, đa giác …) của hình ảnh. Việc này đem lại 2 ưu điểm lớn:

  1. Với các hình ảnh lớn, mã nguồn (XML) có lớn tới đâu, cũng vẫn ít hơn dữ liệu điểm ảnh của các định dạng truyền thống, dẫn đến việc dung lượng của 1 file SVG rất nhỏ so với 1 file PNG hay JPG.
  2. Do được đặc tả dựa trên thuật toán, nên hình ảnh SVG có khả năng co giãn (scalable) rất tốt mà không bị nhòe hay nổi hột trên ảnh.

Dưới đây là một ví dụ về ảnh SVG, các bạn có thể click vào ảnh để xem lớn hơn.

File ảnh với định dạng SVG

Vì sao mặc định, WordPress lại chặn định dạng SVG?

Khi sử dụng một vài themes, việc upload file SVG sẽ bị hệ thống chặn lại, các bạn sẽ nhận được thông báo như hình bên dưới.

File SVG bị WordPress chặn

Thông báo này không xuất phát từ theme đang sử dụng, mà đến từ WordPress core. Nếu bạn sử dụng theme khác mà upload được, có lẽ do theme đó đã thực hiện công việc chỉnh sửa nhằm thông qua file SVG cho chúng ta rồi. Còn nếu gặp thông báo như trên, chúng ta phải tự thực hiện thôi.

Quay lại vấn đề chính, với rất nhiều ưu điểm đã nêu ở trên, tại sao WordPress lại chặn SVG. Như chúng ta đã biết, nội dung của SVG là ngôn ngữ XML được dùng để mô tả hình học. Đây cũng trở thành 1 điểm yếu chết người của file SVG, bởi lẽ hacker có thể dựa vào yếu tố này để chèn các đoạn mã vào file ảnh mà người dùng bình thường khó lòng phân biệt được. Do đó, vì ưu tiên tính bảo mật, hệ thống sẽ chặn các file có định dạng là SVG.

Để có thể sử dụng các file SVG trên trang web của mình, chúng ta cần chỉnh sửa một xíu trong file functions.php của theme.

Cập nhật functions.php

Để cập nhật được file functions.php, các bạn cần có một chút kiến thức về lập trình. Mình sẽ trình bày rõ hơn trong bài viết về việc chỉnh sửa file functions.php

Còn nếu bạn đã biết chỉnh sửa, chúng ta chỉ cần đơn giản copy/paste đoạn mã này vào file functions.php của theme, sau đó reload lại trang web là xong.

Chúc các bạn thành công!