Share vì hữu ích

5 phút đọc

WordPress Hierarchy là cấu trúc các file nào sẽ được sử dụng trong các query khác nhau. Code Tốt xin giới thiệu một cách đơn giản và dễ hiểu dành cho người mới làm quen với lập trình WordPress.

WordPress Hierarchy là gì?

Trong bất kỳ project nào, việc tái sử dụng một hoặc nhiều thành phần (tính mô-đun hoá) giúp tiết kiệm chi phí, thời gian và công sức. Với logic tương tự, các file thành phần giao diện của WordPress được tổ chức tương tự. Một số thành phần (như header hay footer) được sử dụng ở mọi trang, trong khi một số thành phần khác (như sidebar, comments) lại chỉ xuất hiện trong các điều kiện nhất định.

Việc nắm vững WP Hierarchy giúp bạn quan sát cấu trúc giao diện WordPress cần làm việc tốt hơn, xử lý đúng nơi đúng chỗ.

WordPress Hierarchy

Cách thức làm việc của cấu trúc WordPress

Thay vì nói về query, ta hãy đơn giản hoá nó. Các đường dẫn trong website WordPress thực hiện một lệnh truy vấn vào cơ sở dữ liệu, nhưng cũng đồng thời truy tìm một file giao diện phù hợp nhất (tức là theo những cấp bậc phù hợp – ta sẽ giải thích phần cấp bậc này bên dưới).

Nếu không thể tìm thấy các file theo lần lượt các cấp bậc, WordPress sẽ sử dụng file index.php.

Ví dụ:

Hãy lấy một ví dụ, chẳng hạn như người truy cập website vào website WordPress của bạn và click vào chuyên mục “Tin tức” (slug đường dẫn sẽ là codetot.net/category/tin-tuc chẳng hạn), thì WordPress sẽ thử lần lượt các phương án sau:

  1. Đầu tiên, tìm file category-tin-tuc.php xem có tồn tại không.
  2. Nếu không tìm thấy file này, sẽ tìm tiếp file category-4.php (với 4 là ID của category).
  3. Nếu vẫn không thấy, WordPress sẽ tìm tiếp file category.php
  4. Nếu không thấy, tìm tiếp file archive.php.
  5. Cuối cùng, nếu tất cả file không có, WordPress sẽ lấy file index.php để hiển thị.

Để nắm rõ về phần này, bạn nên tra cứu toàn bộ cấu trúc tại đây.

Các file tối thiểu để tạo giao diện WordPress

Bất kì giao diện nào muốn được kích hoạt trong WordPress cần thoả mãn điều kiện là tối thiểu 2 file:

  • index.php – hiển thị bố cục layout mặc định, backup cho tất cả phần hiển thị frontend.
  • style.css – tên giao diện, style mặc định (nhưng có thể không dùng style nào).

Sau khi tạo xong 2 file này và kích hoạt giao diện thành công, bạn có thể bắt đầu tách nhỏ các thành phần để dễ sử dụng hơn.

Các truy vấn file giao diện WordPress phổ biến

Trang chủ WordPress

Thông thường các giao diện WordPress sẽ hiển thị các bài viết mới nhất trên trang chủ. Trang này được gọi là trang bài viết (blog posts index). Trong wp-admin, bạn có thể set 1 trang tĩnh làm trang chủ trong Cài đặt → Đọc (Settings > Reading).

Thứ tự ưu tiên để truy cập như sau:

  1. front-page.php
  2. home.php
  3. page.php (nếu được set trang tĩnh trong cài đặt)
  4. index.php

Bài viết riêng lẻ (Single Post)

Các bài viết (Posts) và cả Custom Post Type (ví dụ Event, Product,…). WordPress sẽ lần lượt truy vấn các file template sau. Nếu không tồn tại, tiếp tục tìm file template tiếp theo.

  1. single-event-summer.php (event là post type, summer là slug url của bài viết đó, hỗ trợ từ phiên bản WordPress 4.4 trở lên).
  2. single-event.php
  3. single.php
  4. singular.php
  5. index.php

Trang riêng lẻ (Page)

Điểm khác biệt là các page có thể set page template (ví dụ templates/about.php) nên mức độ ưu tiên sẽ đặt custom page template này lên đầu tiên.

  1. Custom Template Page (được set cho từng trang).
  2. page-about.php (about là slug).
  3. page-351.php (351 là ID của trang).
  4. page.php
  5. singular.php
  6. index.php

Chuyên mục (Category)

Phần này chỉ áp dụng cho category, không phải custom taxonomy hay term gì nhé.

  1. category-tin-tuc.php (tin-tuc là slug).
  2. category-15.php (15 là ID của chuyên mục).
  3. category.php
  4. archive.php
  5. index.php

Custom Taxonomy

  1. taxonomy-event-category-summer.php (event-category là tên Taxonomy, summer là tên của Term).
  2. taxonomy-event-category.php
  3. taxonomy.php
  4. archive.php
  5. index.php

Custom Post Type

  1. archive-event.php (event là tên của custom post type).
  2. archive.php
  3. index.php

Kết quả tìm kiếm

  1. search.php
  2. index.php

Trang Không tìm thấy (404)

  1. 404.php
  2. index.php

Kết luận

Với một người mới làm quen với WordPress, việc tìm hiểu và nắm vững cấu trúc giúp bạn không làm thừa, làm sai, mà nhanh chóng làm những gì bạn muốn. WordPress rất dễ với ai nắm được nó, và khó với người không biết mà thôi.

Để nắm rõ hơn, bạn có thể đọc thêm tài liệu về Template Hierarchy ở đây nhé. Ngoài ra, bạn có thể đọc thêm về tài liệu Override Template và Gọi file PHP trong WordPress để có thêm thông tin tham khảo về phần này.

Share vì hữu ích

Tác giả: Khôi 'Pro' Nguyễn

Technical Lead tại Solis Lab. Quản lý ngôn ngữ tại vi.wordpress.org.

Trả lời