/**
* Add custom Bulk action: "deactivate" to the network sites table.
*/
public static function add_network_sites_bulk_actions($actions)
{
$actions['deactivate_blog'] = __('Deactivate', 'helper-mini');
return $actions;
}
/**
* Handle the custom Bulk action: "deactivate" for network sites.
*/
public static function handle_network_sites_bulk_action($redirect_to, $doaction, $site_ids)
{
if ($doaction !== 'deactivate_blog') {
return $redirect_to;
}
if (! is_array($site_ids)) {
$site_ids = array($site_ids);
}
foreach ($site_ids as $site_id) {
if (get_network()->site_id != $site_id) { // Prevent deactivating main site
update_blog_status($site_id, 'public', 0);
}
}
$redirect_to = add_query_arg('bulk_deactivated', count($site_ids), $redirect_to);
return $redirect_to;
}Así es como lo registro:
// Add Bulk action "Deactivate" to network sites table (only in network admin)
if (is_multisite() && is_network_admin()) {
// Add bulk action to the dropdown
add_filter('bulk_actions-sites-network', array('Helper_Mini_Helpers', 'add_network_sites_bulk_actions'));
// Handle the bulk action
add_filter('handle_bulk_actions-sites-network', array('Helper_Mini_Helpers', 'handle_network_sites_bulk_action'), 10, 3);
// Optional: Show admin notice after action
add_action('network_admin_notices', function () {
if (isset($_REQUEST['bulk_deactivated'])) {
printf(
'',
esc_html(sprintf(__('Deactivated %s site(s).', 'helper-mini'), intval($_REQUEST['bulk_deactivated'])))
);
}
});
}Tengo dificultades para hacer esta función y soy nuevo en hacer el complemento WP.