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; }