Custom Fields trong WordPress là gì?

Custom Fields là một tính năng quan trọng và hữu ích trong WordPress. Nó cho phép người dùng có khả năng tùy chỉnh vô cùng mạnh mẽ. Hãy cùng mình đi tìm hiểu về những điều cơ bản, các kỹ thuật liên quan và các ứng dụng tuyệt vời của Custom Fields trong series này nhé!

Nếu đã từng nghe về WordPress thì chắc hẳn bạn cũng đã biết rằng đây là một trong những nền tảng hàng đầu để xây dựng các website một cách nhanh chóng. Đóng góp một phần không nhỏ vào sự phát triển của WordPress, giúp nền tảng này đạt được vị trí CMS hàng đầu trong vòng 15 năm qua thì mình không thể không nhắc đến Custom Fields.

Giới thiệu về WordPress

Hiện tại, WordPress đang là CMS phổ biến nhất trên thế giới, chiếm 30% trên tổng số 10 triệu website hàng đầu trên Internet, và đó mới chỉ bao gồm các trang được xuất bản chính thức. Ngoài ra, còn có một số lượng đáng kể các website chẳng hạn như deep web và các trang riêng tư chưa được thống kê trong này. Chúng thậm chí còn nhiều hơn các website được xuất bản chính thức nữa cơ đấy.

Không phải ngẫu nhiên mà WordPress có thể đạt được thành công như ngày hôm nay. Đó là kết quả của một quá trình nỗ lực không ngừng nghỉ trong việc phát triển các tính năng để đáp ứng được nhu cầu của người sử dụng. WordPress có hơn 45,000 plugin và khoảng 6000 theme đã được xuất bản chính thức trên wordpress.org.

Vậy làm thế nào mà WordPress có thể đáp ứng được vô vàn các nhu cầu khác nhau của người dùng, từ việc xây dựng trang mới, trang portfolio, trang đặt phòng khách sạn tới các trang thương mại điện tử. Đó một phần là nhờ Custom Fields và kiến trúc metadata của WordPress.

Metadata

Bạn có thể tạm hiểu Metadata là một loại dữ liệu chuyên biệt (meta) được đính kèm vào dữ liệu chính để cung cấp thông tin và làm rõ hơn cho chính dữ liệu chính đó. Phần dữ liệu chính bản thân nó không bao gồm meta này.

Có các loại đối tượng chính trong WordPress là Post, User, Comment, Taxonomy và Media. Chúng chỉ chứa các trường thông thông tin cơ bản và cần thiết được cung cấp bởi WordPress để mô tả cho chúng. Ví dụ như Tiêu đề cho sản phẩm, username_name cho User, Name cho Category. Trong cơ sở dữ liệu, tất cả những thứ này đều được diễn đạt bằng các bảng và cột tương ứng như sau (Các bảng biểu diễn cho các đối tượng và các cột biểu diễn cho các trường thông tin, biểu đồ này gọi là Database Diagram):

Metadata được biểu diễn trong các bảng và cột trong biểu đồ
Các đối tượng và trường thông tin trong các bảng và cột tương ứng trong WordPress

Tuy nhiên, trong trường hợp bạn muốn mô tả đối tượng Post như là một Product thì làm thế nào? Lúc này, bạn sẽ cần các thông tin khác như là: giá, số lượng, màu sắc… Vậy nên, thay vì thêm các cột cho bảng như thông thường, các dữ liệu thêm vào sẽ được lưu vào metadata, sau đó được liên kết với Post. Từ lúc này trở đi, Post sẽ trở thành Product (Sản phẩm).

Nó có nghĩa là Post chỉ là Post khi không có metadata. Ngược lại, Post có thể trở thành Product khi sử dụng metadata. Sau đó, nếu như bạn không muốn nó là Product nữa thì bạn có thể kết hợp nó với các trường thông tin của một phòng khách sạn như giá, diện tích… thì Post sẽ trở thành Phòng khách sạn (Room) mà không cần thay đổi các dữ liệu cơ bản của Post. Sự linh hoạt thú vị này chính là nền tảng để tạo nên sức mạnh cho sự phát triển của WordPress.

Custom Fields

Bây giờ, hãy trở lại với Custom Fields.

Trong WordPress, để cho phép người dùng thêm, xóa và chỉnh sửa dữ liệu metadata, phải có một công cụ để thao tác với chúng. Đó chính là Custom Fields!

Vậy thì, custom fields là gì?

Custom Fields là một tính năng giúp cho chúng ta tạo các Forms và Fields để tương tác với metadata.

Đây là ảnh chụp cách mà custom fields sẽ được thực thi trong WordPress.

Ảnh chụp cách mà custom fields sẽ được thực thi trong WordPress
Các forms và fields của custom fields để điền dữ liệu

Nếu như không có UI của Custom Fields như trên, cách duy nhất để thêm, xóa, sửa metadata là sử dụng code thông qua các hàm được cung cấp bởi WordPress. Với người dùng WordPress mới thì nó khá là khó, vậy nên việc có UI sẽ giúp cho họ thao tác với dữ liệu một cách trực quan và tiện lợi hơn.

Trên thực tế, khái niệm metadata rất hiếm khi được đề cập đến bởi nó là một thuật ngữ kỹ thuật thường ẩn sau khái niệm custom fields trong WordPress. Khi nhắc đến custom fields, người ta thường hiểu rằng nó sẽ bao gồm cả giao diện người dùng và metadata. Trong loạt bài viết này, chúng ta cùng thống nhất cách hiểu này và sẽ sử dụng nó xuyên suốt các bài.

Phân loại custom fields và metadata

Như đã đề cập ở trên, custom fields tạo các form trường thông tin giúp cho người dùng có thể thêm dữ liệu (metadata) mà họ cần. Như vậy thì có những loại dữ liệu nào sẽ được thêm vào?

Trong phần metadata, chúng ta đã nói rằng các loại đối tượng chính là Post, User, Comment, Taxonomy và Media. Tất cả những đối tượng này sẽ có custom fields riêng của nó vì vậy chúng ta cũng sẽ có custom fields và metadata tương ứng cho Post, User, … Bạn có thể thấy custom fields khi mà bạn chỉnh sửa các đối tượng này.

Dưới đây là ảnh chụp custom fields cho Post:

Ảnh chụp custom fields cho Post
Ví dụ minh họa cho custom fields khi chỉnh sửa bài đăng

Còn đây là ảnh chụp custom fields cho categories:

Đây là ví dụ về custom fields cho categories.
Ví dụ minh họa cho custom fields khi chỉnh sửa các category

Các loại custom fields phổ biến

Như bạn có thể thấy trong các ảnh chụp ở phía trên, thường xuyên có rất nhiều loại dữ liệu cần được thêm vào cho mỗi đối tượng. Nó có thể là một đoạn chữ ngắn, một ảnh hoặc đường dẫn.

Trong quá trình làm việc với nội dung, người dùng sẽ liên tục phải làm việc với những dạng field sau:

  1. Text field (Ví dụ như tên, địa chỉ)
  2. Image field (ví dụ ảnh profile, icon)
  3. File upload field: tải file PDF, file hóa đơn
  4. Editor field: mô tả vắn tắt, đoạn giới thiệu
  5. Relationship field: field liên kết với các dạng đối tượng khác
  6. Repeated field: field có thể lặp lại
  7. URL field: website, profile mạng xã hội.
  8. Choice field: Chọn một lựa chọn từ danh sách định trước
  9. Các field khác

Để thêm các loại custom field trên vào WordPress, bạn có 3 lựa chọn như sau:

  1. Sử dụng tính năng mặc định của WordPress
  2. Sử dụng các chức năng của WordPress
  3. Sử dụng plugin

Đối với một số trường thông tin đơn giản như là text, bạn có thể sử dụng các trường thông tin mà WordPress cung cấp mặc định là đủ. Tuy nhiên, nếu như bạn muốn thêm các trường phức tạp hơn thì bạn phải code thủ công. Nó không quá khó đối với các field như là image hay editor. Nhưng nó khá phức tạp với các repeated field hay là relationship field.

Ứng dụng của custom fields

Bạn hoàn toàn có thể tạo các website về nhiều lĩnh vực khác nhau bằng Custom Fields. Ví dụ:

  1. Du lịch: Thêm các trường mô tả cho địa chỉ, đánh giá, giá cả, đặt tour du lịch.
  2. Khách sạn: Thêm các field như giá cả, tình trạng phòng (có sẵn/không có sẵn), công suất phòng, cơ sở vật chất để xây dựng một website đặt phòng khách sạn.
  3. e-Commerce: Thêm vào các field như giá cả, khối lượng, số lượng.

Trong WordPress, chúng ta có thể nói rằng bất cứ nơi nào có custom post type, nơi đó có custom field!

Tổng kết

Các metadata và custom fields đã cung cấp cho WordPress khả năng tùy chỉnh mạnh mẽ để đáp ứng nhu cầu của gần 30% các website trên toàn thế giới và trên mọi lĩnh vực. Khi bạn sử dụng WordPress, kể cả khi chỉ để xây dựng một blog nhỏ thì cũng đừng quên tính năng Custom Fields.

Tuy nhiên, custom fields cũng gây ra khá nhiều tranh cãi. Một số người nói rằng nó làm cho việc truy vấn chậm hơn, một số khác lại nói nó không hợp để nhân rộng. Vậy nên để tìm ra sự thật, không có cách nào khác hơn ngoài việc học hỏi về việc xây dựng và truy vấn dữ liệu của WordPress từ cơ sở dữ liệu của các custom field. Chúng ta sẽ cùng đi tìm hiểu về chúng từng bước một qua series này, vậy nên hãy kiên nhẫn nhé!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *