(未经测试)
add_action( \'activated_plugin\', \'wpse76145_no_network_activation\',10,2 );
function wpse76145_no_network_activation( $plugin, $network_wide){
if( $plugin == \'myplugin/myplugin.php\' && $network_wide ){
//Plugin was network activated
//Network deactivate
deactivate_plugins( $plugin,false, true );
//Activate on single site
activate_plugins( $plugin);
add_option(\'wpse76145_network_activate_notice\',1);
}
}
然后继续
admin_notices
检查
wpse76145_network_activate_notice
选项和显示通知。
Note: 最好不要硬编码“myplugin/myplugin”。php”-我想用plugin_basename(__FILE__);
会起作用(而且更可取)。
Edit 如果多站点激活正常,那么您可以使用switch_to_blog()
分别在每个插件上激活。我仍然会显示一个通知,因为您没有按照用户的要求进行操作。