जब आपका प्लगइन नेटवर्क सक्रिय हो या किसी एक साइट के लिए सक्रिय हो तो आपका कॉलबैक फ़ंक्शन चलना चाहिए । किसी भी तरह से, यह काम करना चाहिए।
हालाँकि, यदि आप अपने नेटवर्क में प्रत्येक ब्लॉग के लिए चलाए जाने वाले कॉलबैक के भीतर मौजूद कोड का इरादा रखते हैं, तो ध्यान रखें कि यह बॉक्स से बाहर नहीं होगा, इसके बजाय, आपके कॉलबैक के भीतर का कोड प्राथमिक ब्लॉग संदर्भ में होगा।
यदि नेटवर्क सक्रियण पर प्रत्येक ब्लॉग पर आपके कोड को चलाने की आवश्यकता है:
function my_plugin_activate($network_wide) {
if ( is_multisite() && $network_wide ) {
global $wpdb;
foreach ($wpdb->get_col("SELECT blog_id FROM $wpdb->blogs") as $blog_id) {
switch_to_blog($blog_id);
//do your specific thing here...
restore_current_blog();
}
} else {
//run in single site context
}
}
register_activation_hook( __FILE__, 'my_plugin_activate' );
यदि नया ब्लॉग बनाते समय आपके कोड को चलाने की आवश्यकता होती है:
function my_plugin_new_blog($blog_id, $user_id, $domain, $path, $site_id, $meta) {
//replace with your base plugin path E.g. dirname/filename.php
if ( is_plugin_active_for_network( 'my-plugin-name-dir/my-plugin-name.php' ) ) {
switch_to_blog($blog_id);
//do your specific thing here...
restore_current_blog();
}
}
add_action('wpmu_new_blog', 'my_plugin_new_blog', 10, 6 );
इसके अतिरिक्त:
पढ़ने वालों के लिए जो समान कार्यक्षमता चाहते हैं, लेकिन उन सभी प्लगइन्स के लिए जो नेटवर्क सक्रिय हो जाते हैं (न कि केवल एक जिसे आप नियंत्रित करते हैं, यदि सभी पर लागू होता है) , तो आप देखने की इच्छा कर सकते हैं: https://wordpress.org/plugins/proper-network -एक्टिवेशन / जो यह सुनिश्चित करेगा कि आपके मल्टीसाइट नेटवर्क में प्रत्येक प्लगइन जिसमें नेटवर्क सक्रिय है, उसके दोनों register_activation_hook
और register_deactivation_hook
प्रत्येक ब्लॉग संदर्भ में चलाए जा सकते हैं।