Tìm hiểu các hàm điều kiện của WordPress [NEW]

Trong lập trình nói chung, điều kiện rẽ nhánh là một tính năng không thể thiếu trong bất kỳ ngôn ngữ lập trình nào vì việc sử dụng điều kiện để phân nhánh các hành động làm việc được sử dụng khá thường xuyên. Ví dụ, nếu số A có giá trị là 0 thì hành động 1 sẽ được thực hiện và ngược lại.

Quay lại với WordPress, chúng ta có thể sử dụng điều kiện rẽ nhánh trong PHP để hoạt động như nếu trang hiện tại là trang A thì hành động sẽ thực thi, vậy làm sao WordPress có thể hiểu trang hiện tại đang thực thi là trang A? Việc kiểm tra này rất dễ thực hiện, thậm chí dễ gọi thông qua các hàm có điều kiện của WordPress. Hàm có điều kiện trong WordPress có nghĩa là một hàm được tích hợp trong mã nguồn để trả về giá trị TRUE hoặc FALSE trong mỗi thời điểm tương ứng.

Ví dụ, bạn có thể sử dụng các hàm điều kiện này để kiểm tra xem danh mục A có bài viết hay không, trang hiện tại là trang bài viết hay trang chủ, v.v. Nếu bạn là người mới sử dụng WordPress thì không cần phải đào sâu vào điều này. mã nguồn vẫn còn rất nhiều cơ hội để sử dụng các chức năng điều kiện này, ý tưởng thiết thực nhất là kiểm tra trang để ẩn / hiện các widget tùy ý với plugin Widget Logic.

Tổng quan về chức năng điều kiện

Được gọi là một hàm có điều kiện, giá trị trả về của tất cả các hàm này chỉ là THẬT hoặc SAI, nếu kết quả là TRUE, điều kiện được đáp ứng và FALSE thì không. Hầu hết các chức năng này bắt đầu bằng chữ cái. is (kiểm tra xem đối tượng của có phải là một thứ gì đó không) và có một vài hàm bắt đầu bằng một chữ has (kiểm tra xem đối tượng có cái gì đó không) hoặc có từ exist (kiểm tra xem đối tượng có tồn tại hay không). Dễ hiểu nhất là hàm làm ví dụ is_home()chức năng này sẽ kiểm tra xem trang đang thực thi có phải là trang chủ hay không.

Cách sử dụng hàm điều kiện

Hàm điều kiện có chức năng trả về TRUE hoặc FALSE nên chúng ta sử dụng như một giá trị kiểm tra trong cú pháp có điều kiện fork PHP. Ví dụ, tôi muốn hiển thị văn bản “Chào mừng” trên trang chủ nhưng không phải trên các trang khác, sẽ có mã sau:


if ( is_home() ) {
echo "Chào mừng các bạn";
}

Nếu bạn đã biết qua PHP thì đoạn trên cực kỳ dễ hiểu. Đó là, hàm is_home() sẽ có nhiệm vụ kiểm tra xem trang mà khách hàng đang truy cập có phải là trang chủ hay không, nếu hàm kết quả is_home() trả về TRUE, thực thi từ khóa echo bên dưới để hiển thị từ “Chào mừng”nếu nó là FALSE thì không làm gì cả.

Chúng ta cũng có thể sử dụng nhiều hàm có điều kiện cho một bài kiểm tra:


if ( is_home() && is_user_logged_in() ) {
echo "Chào mừng thành viên";
}

Đoạn trên có nghĩa là chúng ta thêm 2 điều kiện, một là is_home() để kiểm tra trang chủ và hai là is_user_logged_in() để kiểm tra xem thành viên đã đăng nhập hay chưa. Lưu ý một điều, nhân vật && bần tiện , nghĩa là, cả hai điều kiện phải được thỏa mãn để hành động được thực hiện. Bạn có thể sử dụng cú pháp || (nghĩa là HOẶC) để đặt 2 điều kiện và chỉ cần 1 trong 2 điều kiện để hành động được thực thi.

Trong một số trường hợp, bạn có thể cần phải kiểm tra lại, ví dụ: nếu trang hiện tại KHÔNG PHẢI (KHÔNG) là trang chủ sẽ làm điều gì đó. Để thực hiện việc kiểm tra đó, bạn sẽ cần chỉ định các ký tự bổ sung ! (dấu chấm than) đứng trước hàm điều kiện. Ví dụ:


if ( !is_home() ) {
echo "Bạn không đang ở trang chủ";
}

Các tham số trong hàm điều kiện

Không phải tất cả các hàm điều kiện đều lấy tham số, nhưng có nhiều hàm điều kiện cho phép chúng ta kiểm tra các giá trị riêng lẻ trong đối tượng đó. Ví dụ, nếu bạn cần kiểm tra xem trang hiện tại có phải là danh mục 123 hay không, hãy sử dụng nó. Nhưng bạn không thể điền thông số nếu không cần thiết vì nó không bắt buộc.

Tất cả các hàm có điều kiện đều cho phép bạn thiết lập các tham số với 3 kiểu dữ liệu: Chuỗi (String), Số (Numeric) và Mảng (Array) và mỗi kiểu giá trị có một ý nghĩa riêng. Ví dụ, tôi muốn kiểm tra xem bài viết hiện tại mà họ đang xem có phải là bài viết có ID số 69 hay không, tôi sẽ viết đoạn mã sau:


if ( is_single( 69 ) ) {
echo "Hiện quảng cáo 69 đê";
}

Hoặc chúng ta sẽ chèn một mảng để kiểm tra nhiều bài viết cùng một lúc:


if ( is_single( array( 69,96 ) ) ) {
echo "Hiện quảng cáo 69 và 96 đê";
}

Tôi cũng xin nói thêm rằng, cụm từ Post mà tôi đề cập ở đây là nó bao gồm Custom Post Type và Post mặc định vì bạn có thể nhập ID của bất kỳ loại post nào bạn cần kiểm tra.

Kiểm tra slug của một danh mục nhất định với kiểu dữ liệu chuỗi:


if ( is_category( ‘thu-thuat’ ) ) {
echo "Bạn đang ở category Thủ thuật";
}

Danh sách các chức năng có điều kiện của WordPress

Chắc hẳn bây giờ bạn đã tự hỏi, làm thế nào để biết được WordPress hỗ trợ chức năng có điều kiện nào? Đây, nó ở ngay đây, mình sẽ liệt kê ra và kèm theo chú thích cho các bạn hiểu chức năng. Bất kỳ hàm nào tôi có với $ args bên trong có nghĩa là hàm đó hỗ trợ các tham số.

  • comments_open ($ args)
    • Kiểm tra chức năng bình luận của bài viết hiện tại có đang mở hay không.
  • has_tag ($ args)
    • Kiểm tra xem bài viết hiện tại có được gắn thẻ hay không.
  • has_term ($ args)
    • Kiểm tra xem bài đăng hiện tại có chứa một thuật ngữ của bất kỳ phân loại nào hay không. Ví dụ: nếu bạn có một danh mục tên là ABC, thì ACB đó là thuật ngữ của danh mục phân loại có tên Danh mục.
  • in_category ($ args)
    • Kiểm tra xem bài viết hiện tại có thuộc thể loại nào hay không.
  • is_404 ()
    • Kiểm tra xem trang bạn đang truy cập có bị lỗi 404 hay không.
  • is_admin ()
    • Kiểm tra xem bạn có đang truy cập trang quản trị WordPress hay không.
  • is_archive ()
    • Kiểm tra xem bạn có đang truy cập trang lưu trữ của bất kỳ phân loại nào không.
  • is_attachment ()
    • Kiểm tra xem bạn có đang truy cập trang hiển thị tệp đính kèm trong bài đăng (Phương tiện) hay không.
  • is_author ($ args)
    • Kiểm tra xem bạn có đang xem trang lưu trữ của một tác giả nào đó hay không.
  • is_child_theme ()
    • Kiểm tra xem chủ đề hiện tại đang được sử dụng là chủ đề con hay chủ đề bình thường.
  • is_comments_popup ()
    • Kiểm tra xem trang hiện tại bạn đang truy cập có phải là trang bình luận bật lên hay không.
  • is_date ()
    • Kiểm tra xem trang bạn đang truy cập có phải là trang lưu trữ ngày tháng hay không.
  • ngày này()
    • Kiểm tra xem trang bạn đang xem có phải là trang được lưu trữ theo ngày hay không.
  • is_feed ()
    • Kiểm tra xem khán giả bạn đang xem có trên trang Nguồn cấp RSS hay không.
  • is_front_page ()
    • Kiểm tra xem trang hiện tại bạn đang xem có phải là trang chủ đã được thiết lập trong Cài đặt -> Đọc hay không.
  • là nhà()
    • Kiểm tra xem trang hiện tại của bạn có phải là trang chủ hay không. Kết quả sẽ trả về TRUE nếu bạn không đặt trang chủ trong Cài đặt -> Đọc hoặc bạn đặt một trang là Trang đăng trong Cài đặt -> Đọc.
  • is_month ()
    • Kiểm tra xem trang bạn đang xem có phải là trang được lưu trữ hay không.
  • is_multi_author ()
    • Kiểm tra xem trang web bạn đang truy cập có nhiều hơn 1 tác giả hay không.
  • is_multisite ()
    • Kiểm tra xem trang web hiện tại có phải là WordPress Multisite hay không.
  • is_main_site ($ args)
    • Kiểm tra xem trang hiện tại có phải là trang chính trong mạng WordPress Multiste hay không.
  • is_page ($ args)
    • Kiểm tra xem trang hiện tại có thuộc về Trang hay không.
  • is_page_template ($ args)
    • Kiểm tra xem trang hiện tại có sử dụng Mẫu trang hay không.
  • is_paged ()
    • Kiểm tra xem trang hiện tại có được đánh số trang hay không. Không áp dụng cho Bài viết và Trang.
  • is_preview ()
    • Kiểm tra xem trang bạn đang xem có phải là bản xem trước cho bài viết ở chế độ nháp hay không.
  • is_rtl ()
    • Kiểm tra xem ngôn ngữ đang được sử dụng cho trang web có thuộc danh sách các quốc gia sử dụng bố cục trang bên phải bên trái hay không. Ví dụ, tiếng Ả Rập sẽ đọc từ phải sang trái.
  • is_search ()
    • Kiểm tra xem trang bạn đang xem có phải là trang hiển thị kết quả tìm kiếm hay không.
  • is_single ($ args)
    • Kiểm tra xem trang hiện tại có phải là trang chi tiết nội dung của bất kỳ loại bài đăng nào không. Chỉ áp dụng cho các loại bài đăng có tham số Phân cấp là Đúng, tức là như Bài đăng.
  • is_singular ($ args)
    • Kiểm tra xem trang hiện tại có phải là trang chi tiết nội dung của bất kỳ loại bài đăng nào không, nó giống với is_single () nhưng áp dụng cho tất cả các loại bài đăng và nó cũng sẽ trả về TRUE nếu như is_single (), is_page () và is_attachment () trả về TRUE.
  • is_sticky ($ args)
    • Kiểm tra xem bài viết hiện tại có được đánh dấu vào nút Sticky hay không.
  • is_super_admin ($ args)
    • Kiểm tra xem thành viên truy cập có phải là Super Admin hay không.
  • is_tag ($ args)
    • Kiểm tra xem trang hiện tại có phải là trang hiển thị danh sách các bài đăng cho một thẻ nhất định hay không.
  • is_tax ($ args)
    • Trả về TRUE nếu trang hiện tại là trang hiển thị danh sách các bài viết của một đơn vị phân loại nhất định.
  • username_exists ($ args)
    • Kiểm tra sự tồn tại của tên người dùng.
  • is_taxonomy_hierarchical ($ args)
    • Kiểm tra xem một phân loại nhất định đã được bật phân cấp hay chưa.
  • plugin có hoạt động không ($ args)
    • Trả về TRUE nếu một plugin nhất định được kích hoạt.
  • trong vòng()
    • Kiểm tra xem đối tượng hiện tại có trong vòng lặp hay không.
  • is_activate_sidebar ($ args)
    • Kiểm tra xem một thanh bên nhất định có đang được sử dụng hay không.
  • is_activate_widget ($ args)
    • Kiểm tra xem một tiện ích nào đó đang được sử dụng (đưa vào thanh bên).
  • is_dynamic_sidebar ()
    • Kiểm tra thanh bên để xem nó có thêm các widget hay không.
  • is_user_logged_in ()
    • Kiểm tra xem người xem có phải là thành viên đã đăng nhập hay không.
  • wp_is_mobile ()
    • Kiểm tra xem thiết bị đang được truy cập có phải là điện thoại di động hay không. Ngoài ra, bạn có thể nhận thêm nhiều chức năng có chức năng tương tự bằng cách cài đặt plugin, xem thêm bài viết Kỹ thuật xây dựng Theme thích ứng.

Sử dụng với các Widget Logic

Widget Logic là một plugin cho phép bạn kiểm soát việc hiển thị từng widget trên các trang mà bạn cần để widget hiển thị thông qua các chức năng điều kiện trên, đây là cách làm quen với chức năng điều kiện dành cho người mới bắt đầu. viết rất nhiều mã.

Cách sử dụng Widget Logic cũng khá đơn giản, sau khi kích hoạt plugin, bạn sẽ mở widget cần thêm chức năng điều kiện lên và ghi hàm điều kiện vào bên dưới phần Widget Logic.

Tìm hiểu các hàm điều kiện của WordPress [NEW]

Phần kết

Trong bài viết này, tôi đã nói qua khá chi tiết và đầy đủ về các hàm điều kiện có sẵn trong WordPress và có lẽ nó sẽ rất hữu ích cho bạn trong nhiều vấn đề khác nhau cần giải quyết. Thực ra đây là một vấn đề khá đơn giản tưởng nhiều người biết nên không nói đến, không ngờ lại nhận được rất nhiều câu hỏi liên quan nên mình đã viết một bài cụ thể.

Đánh giá nội dung này