コード例 #1
0
 function plugin_action_links($actions, $plugin_file, $plugin_data, $context)
 {
     $deps = Plugin_Dependencies::get_dependencies($plugin_file);
     $active_plugins = (array) get_option('active_plugins', array());
     $network_active_plugins = (array) get_site_option('active_sitewide_plugins');
     if (empty($deps)) {
         return $actions;
     }
     $unsatisfied = $unsatisfied_network = array();
     foreach ($deps as $dep) {
         $plugin_ids = Plugin_Dependencies::get_providers($dep);
         if (!count(array_intersect($active_plugins, $plugin_ids))) {
             $unsatisfied[] = $dep;
         }
         if (is_multisite() && !count(array_intersect($network_active_plugins, $plugin_ids))) {
             $unsatisfied_network[] = $dep;
         }
     }
     if (!empty($unsatisfied)) {
         unset($actions['activate']);
     }
     if (!empty($unsatisfied_network)) {
         unset($actions['network_activate']);
     }
     $actions['deps'] = __('Required plugins:', 'plugin-dependencies') . '<br>' . self::generate_dep_list($deps, $unsatisfied, $unsatisfied_network);
     return $actions;
 }