তোমার কলব্যাক ফাংশন উচিত চালানোর যখন আপনার প্লাগইন নেটওয়ার্ক সক্রিয় বা একটি একক সাইটের জন্য অ্যাক্টিভেট করা হয়। যেভাবেই হোক, এটি কাজ করা উচিত।
তবে, যদি আপনি আপনার কলব্যাকের মধ্যে থাকা কোডটি আপনার নেটওয়ার্কের প্রতিটি ব্লগের জন্য চালিত করতে চান, তবে সচেতন হন যে এটি বাক্সের বাইরে ঘটবে না, পরিবর্তে, আপনার কলব্যাকের মধ্যে কোডটি প্রাথমিক ব্লগের প্রসঙ্গে থাকবে।
আপনার কোডটি যদি নেটওয়ার্ক অ্যাক্টিভেশন অনুসারে প্রতিটি ব্লগে চালানো দরকার:
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
চালিত।