The ms_user_list_site_class filter allows you to modify the span class for a site listing on the multisite user list table in WordPress.
Usage
add_filter('ms_user_list_site_class', 'your_custom_function', 10, 4); function your_custom_function($site_classes, $site_id, $network_id, $user) { // your custom code here return $site_classes; }
Parameters
- $site_classes (string[]): Array of class names used within the span tag. Default is “site-#” with the site’s network ID.
- $site_id (int): Site ID.
- $network_id (int): Network ID.
- $user (WP_User): WP_User object.
More information
See WordPress Developer Resources: https://developer.wordpress.org/reference/hooks/ms_user_list_site_class/
Examples
Add Custom Class to Site Listing
Add a custom class “custom-site” to the site listing in the multisite user list table.
add_filter('ms_user_list_site_class', 'add_custom_site_class', 10, 4); function add_custom_site_class($site_classes, $site_id, $network_id, $user) { $site_classes[] = 'custom-site'; return $site_classes; }
Highlight Administrator Sites
Highlight sites where the user has an administrator role by adding the class “admin-site”.
add_filter('ms_user_list_site_class', 'highlight_admin_sites', 10, 4); function highlight_admin_sites($site_classes, $site_id, $network_id, $user) { if (in_array('administrator', $user->roles)) { $site_classes[] = 'admin-site'; } return $site_classes; }
Add Site ID as Class
Add the site ID as a class to the site listing in the multisite user list table.
add_filter('ms_user_list_site_class', 'add_site_id_class', 10, 4); function add_site_id_class($site_classes, $site_id, $network_id, $user) { $site_classes[] = 'site-id-' . $site_id; return $site_classes; }
Remove Default Site Class
Remove the default site class “site-#” from the site listing in the multisite user list table.
add_filter('ms_user_list_site_class', 'remove_default_site_class', 10, 4); function remove_default_site_class($site_classes, $site_id, $network_id, $user) { $site_classes = array_diff($site_classes, ["site-{$network_id}"]); return $site_classes; }
Add Network ID as Class
Add the network ID as a class to the site listing in the multisite user list table.
add_filter('ms_user_list_site_class', 'add_network_id_class', 10, 4); function add_network_id_class($site_classes, $site_id, $network_id, $user) { $site_classes[] = 'network-id-' . $network_id; return $site_classes; }