Warning: Undefined array key "vi" in /home/host1693024/word-press.day/htdocs/www/875348534534.php on line 1665
Trang trước WordPress và Trang chủ

Trang trước WordPress và Trang chủ


WordPress là một CMS tuyệt vời. Bạn có thể làm bất cứ điều gì bạn muốn với nó. Nhưng đôi khi, bạn có thể gặp sự cố với một số chức năng cơ bản. Ví dụ: có thể bạn đang sử dụng is_front_page và is_home Trang chủ WordPress có điều kiện trong các chủ đề và plugin của mình (bạn có thể tìm hiểu thêm về các hàm có điều kiện trong bài đăng Thẻ có điều kiện của chúng tôi). Nhưng bạn đang làm sai rồi!

Cài đặt trang chủ

Với các hàm có điều kiện đó, bạn có thể kiểm tra xem trang chủ đang được hiển thị (is_home) hay trang chủ đang sử dụng trang tĩnh (is_front_page). Bạn có thể xác định hành vi như vậy trong Cài đặt=> Đọc.

Trong plugin hoặc chủ đề của bạn, bạn có thể sử dụng chức năng này để hiển thị hoặc thay đổi nội dung tùy theo cài đặt của người dùng. Nhưng bạn đang mắc một sai lầm lớn: bạn không tính đến trang blog tĩnh. Khi bạn xác định một trang tĩnh cho trang chủ của mình, bạn cũng có thể xác định một trang blog : nó sẽ thay thế trang chủ WordPress mặc định để liệt kê mọi bài đăng.

Tóm tắt lại câu chuyện dài: is_front_page phải luôn được kiểm tra bằng và trước is_home. Và đây là lý do tại sao.

Làm thế nào nó hoạt động

1. Cài đặt bình thường:

Trang chủ WordPress mặc định liệt kê các bài đăng mới nhất của bạn.

  • Đây là URL: website.com
  • is_home trả về TRUE
  • is_front_page trả về TRUE

Ở đây, không có vấn đề gì cả.

2. Trang chủ tĩnh:

Trang chủ đang sử dụng một trong các trang tĩnh của bạn.

  • URL vẫn là website.com
  • is_home trả về SAI
  • is_front_page trả về TRUE

Không có vấn đề gì với trang chủ tĩnh của bạn: is_front_page trả về true.

3. Trang blog tĩnh

Một trong những trang của bạn đang liệt kê tất cả bài viết của bạn.

  • URL là website.com/pagename
  • is_home : ĐÚNG
  • is_front_page : SAI

Tại đây, bạn có thể gặp một số vấn đề: is_home đang trả về TRUE, nhưng đây không phải là trang chủ của bạn : đây là trang WordPress liệt kê mọi bài đăng, giống như một kho lưu trữ danh mục chính.

Sử dụng thẻ có điều kiện

Khi bạn tạo plugin hoặc chủ đề, bạn phải cân nhắc xem người dùng có thể sử dụng các cài đặt trang đó hay không. Vì vậy, mỗi khi sử dụng is_home, bạn phải luôn kiểm tra is_front_page trước và bạn luôn phải sử dụng các tham số có điều kiện để làm như vậy.

Nếu không, bạn có thể gặp vấn đề với một số người dùng. Ví dụ: nếu bạn chỉ kiểm tra is_home để hiển thị nội dung trang chủ của mình thì sẽ có vấn đề với trang chủ tĩnh không hiển thị đúng nội dung.

Đây là cách để làm điều đó đúng:

if ( is_front_page() && is_home() ) {

	// Default homepage ( both the front page and the recent posts page)

} elseif ( is_front_page() ) {

	// Static homepage

} elseif ( is_home() ) {

	// Blog page

} else {

	// Everything else

}

Đây là cách duy nhất (đúng) để hiển thị hoặc thay đổi nội dung trên trang chủ và trang blog của bạn.

Quan trọng: Xin lưu ý rằng các chức năng này chỉ hoạt động khi WordPress được tải, chẳng hạn như trên các tệp mẫu hoặc các móc hành động cụ thể. Bạn không thể đổ những điều kiện này vào hàm.php và mong đợi chúng hoạt động.

Còn bạn thì sao?

Bạn đã gặp phải vấn đề này chưa? Giải pháp của bạn là gì? Tôi muốn nghe về nó!