Sizin geri çağırma işlevi olmalıdır Eklenti ağ aktive veya tek site için aktive olduğunda çalıştırın. Her iki durumda da, çalışıyor olmalı.
Ancak, geri aramalarınızda yer alan kodun ağınızdaki her blog için çalıştırılmasını istiyorsanız, bunun kutudan çıkmayacağını unutmayın, bunun yerine geri aramalarınızdaki kod birincil blog bağlamında olacaktır.
Ağ Etkinleştirmesi üzerine kodunuzun her blogda çalışması gerekiyorsa:
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' );
Yeni bir blog oluşturulduğunda kodunuzun çalışması gerekiyorsa:
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 );
Bunlara ek olarak:
Benzer işlevsellik isteyen ancak ağın etkinleştirildiği tüm eklentiler için (yalnızca geçerliyse, kontrol edebildiğiniz değil ) , şunlara bakmak isteyebilirsiniz: https://wordpress.org/plugins/proper-network -activation / senin çoklu ağındaki her eklenti hangi ağ aktive olmasını sağlayacaktır hangi sahiptir hem onun register_activation_hook
ve register_deactivation_hook
her blog bağlamında çalışır.