كيفية التحقق مما إذا كان البرنامج المساعد نشطًا في WordPress [3 طرق]

نشرت: 2020-08-08

تحقق مما إذا كان المكون الإضافي نشطًا في WordPress بصفتك مطور WordPress ، فإن أحد أكثر عمليات التحقق شيوعًا في التعليمات البرمجية الخاصة بك عند تطوير مكون إضافي هو حالة تنشيط المكون الإضافي. هناك عدة أسباب تجعلك تتحقق مما إذا كان المكون الإضافي نشطًا أم لا. على سبيل المثال لا الحصر ، يمكنك التحقق مما إذا كان المكون الإضافي التابع نشطًا أو مكونًا إضافيًا مشابهًا يقوم بنفس الشيء.

في كلتا الحالتين ، ستحتاج إلى إضافة التحقق في ملف قاعدة المكون الإضافي الخاص بك للتحقق مما إذا كان المكون الإضافي المستهدف نشطًا. مثال كلاسيكي إذا كنت تقوم بتطوير مكون إضافي لـ WooCommerce يمتد إلى فئات WooCommerce.

على سبيل المثال ، عندما تقوم بتطوير المكون الإضافي لبوابة الدفع WooCommerce ، فأنت بحاجة إلى التحقق مما إذا كان WooCommerce نشطًا على الفور بعد تنشيط المكون الإضافي أو يفضل أن يكون ذلك أثناء ربط تنشيط المكون الإضافي.

تحقق مما إذا كان البرنامج الإضافي WordPress نشطًا

لحسن الحظ ، يحتوي WordPress core على طريقة أو وظيفة جاهزة للاستخدام تتحقق مما إذا كان مكون إضافي معين نشطًا ويعيد صحيحًا أم خطأ.

is_plugin_active WordPress

تقوم هذه الوظيفة بإرجاع قيمة boolean - true or false ويمكنك دمجها بسهولة في التعليمات البرمجية الخاصة بك خاصة أثناء ربط التنشيط.

إذا كان المكون الإضافي الذي تتحقق منه غير نشط ، فيمكنك عرض إشعار رأس للمستخدم لتثبيت المكون الإضافي.

يمكنك أيضًا تطبيق نفس الوظيفة عندما تريد أن يقوم المستخدم بإلغاء تنشيط مكون إضافي آخر من المحتمل أن يتعارض مع وظيفة المكون الإضافي الخاص بك.

الوظيفة is_plugin_active () مراجعة سريعة

دعونا نلقي نظرة سريعة على الوظيفة is_plugin_active() لمعرفة المزيد حول كيفية استخدامها بشكل فعال في مشروعك.

is_plugin_active( string $plugin )

تأخذ هذه الوظيفة معلمة سلسلة تمثل المسار إلى المسار النسبي للمكون الإضافي في دليل الملحقات.

 الوظيفة is_plugin_active ($ plugin) {
    return in_array ($ plugin، (array) get_option ('active_plugins'، array ())) || is_plugin_active_for_network ($ plugin) ؛
}

على سبيل المثال WooCommerce هو المسار woocommerce/woocommerce.php كما هو موضح في
الصورة أدناه:
مسار ملف WooCommerce Basefile

يمكن استخدام الوظيفة is_plugin_active() للتحقق مما إذا كان المكون الإضافي نشطًا في الواجهة الخلفية باستخدام مقتطف الشفرة التالي

 <؟ php
/ **
* كشف البرنامج المساعد. للاستخدام في منطقة الإدارة فقط.
* /
if (is_plugin_active ('plugin-directory / plugin-file.php')) {
// تم تنشيط البرنامج المساعد
}

على سبيل المثال ، إذا كنت تريد التحقق مما إذا كان WooCommerce نشطًا ، يمكنك التحقق باستخدام الكود التالي:

 <؟ php
/ **
* تحقق مما إذا كان البرنامج المساعد WooCommerce نشطًا في منطقة الإدارة
* /
إذا (is_plugin_active ('woocommerce / woocommerce.php')) {
// تم تنشيط البرنامج المساعد WooCommerce
}

ملف أساس البرنامج المساعد ودليل أساسي

كما ترون ، لقد استخدمت اسم ملحق WooCommerce والمجلد كما ذكرت موضحًا باستخدام الصورة أعلاه.
الاسم الأساسي للمكوِّن الإضافي هو اسم ملف مكون إضافي لملف واحد هو الملف الرئيسي وأحيانًا يتطابق مع الدليل / المجلد ولكن ليس كل الحالات - بعض الإضافات مختلفة.

تحقق مما إذا كان البرنامج المساعد نشطًا في مواقع متعددة

بالنسبة إلى مواقع WordPress المتعددة ، توجد وظيفة مصممة لمساعدة المطورين على التحقق مما إذا كان المكون الإضافي نشطًا في الشبكة متعددة المواقع. الوظيفة هي:

is_plugin_active_for_network( string $plugin )

تعمل هذه الوظيفة تمامًا مثل وظيفة is_plugin_active (string $ plugin) ويمكن تطبيقها بنفس الطريقة لتحديد ما إذا كان المكون الإضافي نشطًا عبر شبكة WordPress متعددة المواقع.

 <؟ php
الوظيفة is_plugin_active_for_network ($ plugin) {
    إذا (! is_multisite ()) {
        عودة كاذبة؛
    }
 
    الإضافات $ = get_site_option ('active_sitewide_plugins') ؛
    if (isset ($ plugins [$ plugin])) {
        العودة صحيح
    }
 
    عودة كاذبة؛
}

طرق أخرى للتحقق مما إذا كان البرنامج المساعد نشطًا

هناك طرق أخرى يمكنك استخدامها للتحقق مما إذا كان المكون الإضافي نشطًا. يمكنك التحقق من استخدام دالات php الأصلية class_exists أو function_exists. تتحقق هذه الطرق من وجود فئة المكون الإضافي أو الوظيفة على التوالي.

استخدام function_exists () للتحقق مما إذا كان البرنامج المساعد نشطًا

إذا كنت تعرف وظيفة أو طريقة المكون الإضافي ، فيمكنك التحقق باستخدام طريقة function_exists كما في المقتطف أدناه:

 <؟ php
إذا (function_exists ('plugin_function')) {
// البرنامج المساعد نشط
}

استخدام class_exists () للتحقق مما إذا كان البرنامج المساعد نشطًا

إذا كنت تعرف الفئة الرئيسية للمكوِّن الإضافي ، يمكنك التحقق من ذلك باستخدام طريقة class_exists كما في المقتطف أدناه:

 <؟ php
إذا (class_exists ('plugin_class)) {
// البرنامج المساعد نشط
}

يمكنك ربط أي من هاتين الطريقتين للتحقق مما إذا كان المكون الإضافي نشطًا على ربط plugins_loaded كما في مقتطف الشفرة أدناه:

 <؟ php
/ *
* اختبار ما إذا كان البرنامج المساعد نشطًا
* /

الوظيفة njengah_is_plugin_name_active () {
إذا (class_exists ('Plugin_Class)) {

// إنها نشطة ، وكذلك المنطق هنا

}
}
add_action ('plugins_loaded'، 'njengah_is_plugin_name_active') ؛

استنتاج

في هذا المنشور ، قمنا بتسليط الضوء على الطرق المختلفة للتحقق مما إذا كان المكون الإضافي نشطًا عند تطوير مكون إضافي أو سمة أخرى. هذه طرق مفيدة يمكنك تطبيقها في جميع مهام تطوير WordPress الخاصة بك.

مقالات مماثلة