Các hàm điều kiện trong wordpress là một tính năng cực kì hữu ích cho phép bạn kiểm soát nội dung nào được hiển thị trên trang nào. Điều này rất tuyệt vời vì có những nội dung chỉ được phép hiện thị ở trang chủ, có những nội dung chỉ cần hiện thị ở trang bài viết…Hàm điều kiện sẽ giúp bạn làm điều này một cách dễ dàng, hơn thế nữa việc sử dụng cơ bản hàm điều kiện trên wordpress cũng không phải quá khó.
Tổng hợp một số hàm điều kiện wordpress
Hàm điều kiện trong wordpress là gì?
Hàm điều kiện của WordPress là các thẻ điều kiện nhà phát triển mã nguồn wordpress.org viết sẵn để kiểm tra sự tồn tại của một đối tượng trên giao diện. Nó sẽ kiểm tra đối tượng có tồn tại hay không và thực thi mã lệnh theo yêu cầu của các lập trình viên.
Mỗi thẻ có điều kiện trả về hai kết quả một là TRUE hoặc FALSE. Các hàm có sẵn này để hoạt động thì thường kết hợp với các câu lệnh PHP if cho phép thực thi mã có điều kiện một cách dễ dàng.
Cách sử dụng:
Nếu chỉ dùng một thẻ duy nhất thì triển khai như sau
if ( is_home() ) {
// điều bạn muốn
}
Sử dụng code hàm điều kiện wordpress sau nếu triển khai trong các tệp file của theme.
<?php if( is_home() ) { ?>
// điều bạn muốn
<?php } ?>
Nếu bạn dùng nhiều 2 thẻ điều kiện trở lên thì triển khai thêm code liên kết với nhau bằng &&.
<?php if( is_front_page() && is_home() ) { ?>
// điều bạn muốn
<?php } ?>
if( is_front_page() && is_home() ) {
// điều bạn muốn
}
Không hiển thị code này trên một trang nào đó thì thêm ! vào phía trước của hàm là được. Code sau là ví dụ code chỉ hiện trên các trang bài viết mà không hiện thỉ ở trang chủ.
if( is_single() && !is_home() ) {
// điều bạn muốn
}
Bạn có thể dùng các hàm điều kiện cùng với câu lệnh else, elseif và các thuật toán logic như AND, OR và Not.
Danh sách các hàm điều kiện của wordpress:
- is_single() – Hàm này kiểm tra xem trang hiện tại có phải trang bài viết hay không, thường là post mặc định của wp.
- is_singular() – Hàm này kiểm tra xem trang hiện tại có phải trang bài viết hay không nhưng nó rộng hơn is_single vì bao gồm tất cả các post type.
- is_home() – Thẻ điều kiện ở trang chủ
- is_front_page() – Hàm kiểm tra trang chủ được thiết lập trong Settings -> Reading
- is_page() – Hiện thị ở trang tĩnh Pages
- is_category() – Hiện thị ở trang chuyên mục
- is_tag () – Kiểm tra trang lưu trừ từ khóa.
- is_author () – Kiểm tra xem trang lưu trữ tác giả có đang được hiển thị hay không.
- is_archive () – Thẻ điều kiện này rộng bao gồm lưu trữ danh mục, thẻ, ngày tháng và tác giả.
- is_attachment () – Kiểm tra xem phần đính kèm có được hiển thị hay không.
- is_search () – Kiểm tra xem trang kết quả tìm kiếm có được hiển thị hay không.
- is_user_logged_in() – Kiểm tra người dùng đã đăng nhập hay chưa.
Trên đây là một số hàm thông dụng mà chúng ta hay sử dụng để sửa theme. Nếu các bạn muốn xem đầy đủ các hàm vào ngay trang chính thức https://developer.wordpress.org/themes/references/list-of-conditional-tags/
Hàm điều kiện cho giao diện AMP
Nếu bạn đang sử dụng plugin AMP chính thức từ Automattic, thì bạn có thể sử dụng hàm PHP is_amp_endpoint () để kiểm tra xem trang / bài đăng đang tải hiện tại có phải là trang / bài đăng AMP hay không. Đây là một thẻ điều kiện rất tuyệt vời để thêm bất kỳ loại tiện ích mở rộng cho trang AMP mà sẽ không hiển thị trên trang NON AMP.
<?php if (function_exists( 'is_amp_endpoint' ) && is_amp_endpoint()) { ?>
// điều bạn muốn
<?php } ?>
if (function_exists( 'is_amp_endpoint' ) && is_amp_endpoint()) {
// điều bạn muốn
}
Còn nếu bạn sử dụng ampforwp thì sử dụng hàm điều kiện wordpress sau đây:
if ( function_exists( 'ampforwp_is_amp_endpoint' ) && ampforwp_is_amp_endpoint() ) {
// điều bạn muốn
}
Hàm điều kiện trong wordpress cho phiên bản AMP này sẽ trả về TRUE nếu yêu cầu hiện tại yêu cầu trang AMP và FALSE nếu trang đó không phải.
Xem thêm một số bài viết khác hữu ích về hàm điều kiện wp tại https://codex.wordpress.org/Conditional_Tags
Xem thêm các thủ thuật hay.