توابع شرطی وردپرس: راهنمای کامل

توابع شرطی وردپرس

توابع شرطی وردپرس، امکان خوبی در وردپرس هستند که به شما اجازه می‌دهند نمایش محتوا در یک صفحه را کنترل کنید. توابع شرطی وردپرس در بخش‌های مختلف وبسایت مانند صفحه خانگی، پست و صفحات وبلاگ وجود دارند.

برای مثال با کمک توابع شرطی وردپرس می‌توانید لوگوی متفاوتی را در صفحه تکی وبسایت خود نمایش دهید.

توابع شرطی وردپرس چگونه کار می‌کنند

توابع شرطی نوع داده boolean هستند که مقدار بازگشتی آنها تنها true یا false است. تابع is_home برای مثال بررسی می‌کند که آیا صفحه جاری بلاگ است یا خیر.

تابع بسیار ساده اما کاربری است. با تکه کد زیر می‌توانیم پیامی را در ابتدای صفحه بلاگ خود برای کاربران به نمایش درآوریم.

<?php         
  
if ( is_home()) {
 
echo "Welcome to Our Blog!!";
 
}
 
?>

 

با کمک توابع شرطی وردپرس به صورت خیلی ساده می‌توانید نوع صفحه وردپرس خود را مشخص کنید.

در زیر پراستفاده‌ترین توابع شرطی وردپرس یا تگ شرطی وردپرس که احتمالا در کار با وردپرس به آن برخورده‌اید یا به آن نیاز پیدا خواهید کرد آورده شده است:

  • is_home: بررسی می‌کند که آیا پست وبلاگ نمایش داده شده است یا خیر. ممکن است صفحه خانگی شما باشد یا اینکه نباشد.
  • is_front_page: بررسی می‌کند که آیا صفحه خانگی شما نمایش داده شده است یا خیر. ممکن است صفحه خانگی شما بر روی وبلاگ تنظیم شده باشد یا یک صفحه مشخص باشد.
  • is_single: بررسی می‌کند که آیا نوعی از پست تکی نمایش داده شده است یا خیر (غیر از صفحات مربوط به ضمایم).
  • is_attachment: بررسی می‌شود که صفحه ضمیمه باشد.
  • is_page: بررسی می‌شود که یک page نمایش داده شده است یا خیر.
  • is_singular: بررسی می‌کند که آیا یک صفحه تکی یا ضمیمه نمایش داده شده باشد؛ در حقیقت ترکیبی از سه شرط پیشین می‌باشد که در صورت صحیح بودن هر مورد مقدار true بازخواهدگرداند.
  • is_category: بررسی می‌کند که صفحه بایگانی دسته‌بندی است یا خیر.
  • is_search: بررسی می‌شود که آیا صفحه نتایج جستجو نمایش داده شده است یا خیر.
  • is_tag: بررسی می‌کند که بایگانی برچسب یا تگ نمایش داده شده باشد.
  • is_author: بررسی می‌کند که صفحه بایگانی نویسنده نمایش داده شده است یا خیر.
  • is_archive: بررسی می‌کند که آیا نوعی از صفحه بایگانی نمایش داده شده است؛ این صفحه بایگانی می‌تواند بایگانی دسته‌بندی، برچسب، تاریخ و یا نویسنده باشد که در صورت صحیح بودن هر یک مقدار true را بازخواهدگرداند.
  • is_sticky: بررسی می‌کند که آیا پست به صورت sticky تعریف شده است یا خیر و در این صورت مقدار true را بازخواهدگرداند.
  • is_multi_author: بررسی می‌کند که آیا یک پست در وبسایت توسط بیش از یک نویسنده منتشر شده باشد. در صورتی مقدار true باز میگرداند که دو یا چند نفر نوشته را منتشر کرده باشد.

علاوه بر این توابع شرطی وردپرس، توابع شرطی دیگری نیز بر اساس تاریخ وجود دارند که در شرایطی می‌توانند مفید باشند. این توابع شرطی وردپرس به تاریخ صفحات بایگانی اشاره می‌کنند.

  • is_date: بررسی می‌کند که آیا صفحه بایگانی بر اساس تاریخ است یا خیر.
  • is_year: بررسی می‌کند که صفحه بایگانی بر اساس سال باشد.
  • is_month: بررسی می‌کند که آیا صفحه بایگانی بر اساس ماه است یا خیر.
  • is_day: بررسی می‌شود که صفحه بایگانی بر اساس روز باشد.
  • is_time: بررسی می‌کند که صفحه بایگانی بر اساس زمان باشد.
  • is_new_day: اگر پست جاری در روز دیگری و متفاوت از پست پیشین منتشر شده باشد مقدار true بازخواهد گرداند. اگر هر دو پست در یک روز منتشر شده باشند مقدار false بازمی‌گرداند.

به عنوان توسعه‌دهنده وردپرس معمولا به شکل زیاد از is_home و is_single استفاده خواهید کرد و معمولا گذرتان کمتر به برخی از توابع شرطی وردپرس خواهد خورد.

مثال‌های از توابع شرطی وردپرس

بسیاری از توابع شرطی وردپرس اجازه ارسال پارامترهایی را به تابع می‌دهند. این قابلیت امکان کنترل بیشتر و کامل‌تری را به شما می‌دهد. is_page تابع شرطی در وردپرس است که به شما اجازه بررسی اینکه صفحه مورد نظر شما یک page است یا خیر را می‌دهد.

اگر می‌خواهید در کار با تابع شرطی is_page دقیق‌تر باشید می‌توانید پارامتر page$ را نیز مشخص کنید. پارامتر page$ می‌تواند شناسه صفحه، عنوان صفحه یا نامک صفحه باشد.

وبسایتی را در نظر داشته باشد که یک صفحه about دارد و می‌توانید صفحه about را به شکلی متفاوت از سایر صفحات نمایش دهید. برای مثال می‌خواهید تصویری از شرکت خود را در بالای سایدبار نمایش دهد یا اطلاعاتی بیشتر را در انتهای صفحه درباره ما به نمایش درآورید.

برای انجام اینکار بایستی پارامتر page$ را نیز تعریف کنید. اگر شناسه صفحه ۱۰ باشد، می‌توانید شرط خود را به این صورت تعریف کنید:

if ( is_page(10) ) {

همچنین می‌توانید عنوان صفحه را به تابع انتقال دهید:

if ( is_page( 'About Us' ) ) {

همچنین از نامک یا slug صفحه نیز می‌توانید استفاده کنید. در اینجا در خصوص نامک در وردپرس توضیح داده‌ایم.

if ( is_page( 'about-our-company' ) ) {

برخی از توابع شرطی وردپرس مانند is_page، همچنین پارامترها را به صورت آرایه هم انتقال می‌دهند. در شرط زیر در صورتیکه یکی از آرایه‌ها باعث صحیح شدن شرط شود مقدار true بازگردانده خواهد شد:

if ( is_page( array( 10, 'About Us', 'about-our-company' ) ) ) {

در توسعه یک پوسته برای وردپرس معمولا پیش می‌آید که از ترکیبی از شروط وردپرس استفاده کنید. در مثال بعدی پیام خوشامدگویی به بازدیدکنندگان وبلاگ نمایش داده می‌شود.

برای اینکار می‌توانید ترکیبی از is_home و is_single را استفاده کنید. برای اینکه پیام خوشامدگویی را در هر دو بخش نمایش دهید می‌بایست از عملگر منطقی OR استفاده کنید.

<?php         
  
if ( is_home() || is_single() ) {
 
echo "Welcome to Our Blog!!";
 
}
 
?>

عملگر منطقی که در این شرایط به کار شما خواهد آمد استفاده از AND است. زمانی از این عملگر استفاده می‌کنید که می‌خواهید دو یا چند شرط حتما مقدار true را بازگردانند تا در نهایت مقدار true را برای شرط خود داشته باشید.

در دستور زیر بررسی می‌شود که صفحه به صورت بایگانی و در دسته‌بندی News باشد. به عبارت دیگر در صفحات دسته‌بندی اخبار، پیام خوشامدگویی نمایش داده می‌شود.

<?php 
 
if ( is_archive() && is_category( 'News' ) ) {
   
echo "Welcome to the News Archives";
 
}
 
?>

همچنین می‌توانید از ترکیبی از عملگرهای AND و OR استفاده کنید. در شرط بعدی بخشی از کد مربوط به قالب پیش‌فرض وردپرس نمایش داده شده است. از این تابع برای نمایش عنوان صفحه در مرورگر استفاده می‌شود.

این شرط در صورتی مقدار true را باز خواهد گرداند که توضیحات سایت وجود داشته باشد و کاربر صفحه اصلی وبسایت را مشاهده کرده باشد. توضیحات سایت از طریق تنظیمات وردپرس وارد می‌شود. اگر این تنظیم را پر کرده باشید و صفحه خانگی و بلاگ نیز باشند نوار عنوان در مرورگر کاربر به صورت «عنوان سایت | توضیحات سایت» نمایش داده خواهد شد.

if ( $site_description && ( is_home() || is_front_page() ) )
        $title = "$title $sep $site_description";

توابع شرطی بیشتر

توابع شرطی وردپرس دیگری هم در دسترس هستند. بسیاری از اینها هیچگاه توسط توسعه‌دهندگان افزونه و پوسته وردپرس استفاده نمی‌شوند اما گاها توابع شرطی وردپرس وجود دارند که در مورادی بسیار کاربردی هستند.

در زیر توابع شرطی وردپرس متفاوتی را آورده‌ایم که ممکن است تحت شرایطی مورد استفاده شما قرار بگیرند:

  • is_tax: بررسی می‌کند که آیا صفحه بایگانی تکسونومی نمایش داده شده است یا خیر.
  • has_term: بررسی می‌کند که پست جاری ترم مشخص شده را در خود داشته باشد.
  • taxonomy_exists: بررسی می‌کند که نام تکسونومی وجود دارد یا خیر.
  • post_type_exists: بررسی می‌کند که پست‌تایپ وجود داشته باشد.
  • is_post_type_hierarchical( $post_type ): بررسی می‌کند که پست‌تایپ سلسله‌مراتبی باشد.
  • comments_open: بررسی می‌شود که بخش دیدگاه‌ها در صفحه جاری وجود دارند یا خیر.
  • is_404: بررسی می‌شود که خطای ۴۰۴ نمایش داده شده است یا خیر.
  • is_paged: بررسی می‌کند که صفحه‌ای که در حال مشاهده آن هستید صفحه‌بندی شده است یا تک صفحه است.
  • is_admin: بررسی می‌کند که آیا کاربر در ناحیه مدیریتی وارد شده است یا خیر. البته برای بررسی سطح دسترسی مدیریت یا سایر دسترسی‌های کاربری استفاده نمی‌شود تنها بررسی می‌کند که کاربر به داشبورد وردپرس خود لاگین کرده باشد.
  • is_page_template: بررسی می‌کند که صفحه حاضر با استفاده از یک تمپلیت ایجاد شده باشد.
  • has_excerpt: بررسی می‌شود که پست جاری خلاصه‌ای دارد یا خیر.
  • is_plugin_active( $plugin ): بررسی می‌کند که پلاگین مدنظر فعال شده باشد.
  • is_child_theme: بررسی می‌کند که پوسته فعال شده یک پوسته فرزند باشد.

۵ / ۵. ۲

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *