وردپرس: دستور شرطی بررسی فعال و نصب بودن یک افزونه خاص
کد تخفیف در جریان devme1397 %10 تا آخر پاییز97

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

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

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

 


حالت اول: بررسی افزونه در پیشخوان

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

if ( is_plugin_active( 'plugin-directory/plugin-file.php' ) ) {
    // کدهایی که در صورت فعال بودن افزونه باید اجرا شوند
}

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

if ( is_plugin_active( 'plugin-directory/plugin-file.php' ) ) {
  // کدهایی که در صورت فعال بودن افزونه باید اجرا شوند
} else {
  // کدهایی که در زمان غیرفعال بودن افزونه باید اجرا شوند
}

تنظیمات:

  • در خط اول کدهای بالا، بجای plugin-directory باید نام پوشه افزونه مورد نظر، و بجای plugin-file.php نام فایل اصلی افزونه مورد نظر را وارد کنید. تمامی افزونه های وردپرسی، نام پوشه افزونه و نام فایل اصلی آن هم نام هستند.

 


حالت دوم: استفاده در Front-End ، سایت

حالت دوم، کدی است که در سایت استفاده می شود. از کد زیر می توانید در هر فایلی از قالبتان استفاده کنید. تفاوت اصلی این کد با کد قبل در این است که باید یک تابع اضافه جهت معرفی و شناسایی فایل plugin.php موجود در هسته وردپرس استفاده کنیم. مابقی تنظیمات کد و معرفی افزونه و فایل اصلی آن همانند حالت قبل است.

<?php
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
if ( is_plugin_active( 'plugin-directory/plugin-file.php' ) ) {
  // کدهایی که در صورت فعال بودن افزونه باید اجرا شوند
} else {
  // کدهایی که در زمان غیرفعال بودن افزونه باید اجرا شوند
}
?>

تنظیمات:

  • در خط 3 کدهای بالا، بجای plugin-directory باید نام پوشه افزونه مورد نظر، و بجای plugin-file.php نام فایل اصلی افزونه مورد نظر را وارد کنید. تمامی افزونه های وردپرسی، نام پوشه افزونه و نام فایل اصلی آن هم نام هستند.
  • خط 2 کد بالا به هیچ عنوان نباید تغییر کند! فایل plugin.php با همین تابع باید فراخوانی شود تا دستور شرطی ادامه کد بتواند به خوبی شرط را بررسی کند.

هنوز دیدگاهی ارسال نشده! نظر شما چیست؟

دیدگاه شما درباره این صفحه چیست؟