WordPress Hierarchy và những gì bạn cần biết

5/5 - (1 bình chọn)

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.

Viết một bình luận


Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Gọi tư vấn 0982.90.4343
Chuyên gia về Web
Bài viết liên quan

07/04/2024

PHP: Format date dd/mm/yyyy và so sánh với Date hiện tại
Một vấn đề hay gặp trong quá trình xử lý PHP datetime là tình huống format date từ định dạng...

02/01/2024

Fix lỗi npm không thể cài các package devDependencies
Khi cài đặt dự án,  có lúc bạn sẽ cài mãi cũng không đủ các package npm, đặc biệt là...
Gọi file PHP trong WordPress

19/09/2023

Cài đặt và sử dụng WP-CLI trên môi trường Linux
Trên một số môi trường Hosting có thể cung cấp SSH hoặc Terminal access, song không có sẵn WP-CLI để...
Import database MySQL lớn trên môi trường Docker

06/08/2023

Import database MySQL lớn trên môi trường Docker
Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import...