WordPress.org

Make WordPress Core

Ticket #14479: capabilities-super_user_filter.diff

File capabilities-super_user_filter.diff, 901 bytes (added by benward, 8 years ago)

Adds 'is_super_user' filter to 'is_super_user()' function.

  • wordpress/wp-includes/capabilities.php

     
    12041204 * @return bool True if the user is a site admin.
    12051205 */
    12061206function is_super_admin( $user_id = false ) {
     1207        $is_super = false;
     1208
    12071209        if ( ! $user_id ) {
    12081210                $current_user = wp_get_current_user();
    12091211                $user_id = ! empty($current_user) ? $current_user->id : 0;
     
    12171219        if ( is_multisite() ) {
    12181220                $super_admins = get_super_admins();
    12191221                if ( is_array( $super_admins ) && in_array( $user->user_login, $super_admins ) )
    1220                         return true;
     1222                        $is_super = true;
    12211223        } else {
    12221224                if ( $user->has_cap('delete_users') )
    1223                         return true;
     1225                        $is_super = true;
    12241226        }
    12251227
    1226         return false;
     1228        return apply_filters('is_super_admin', $is_super, $user);
    12271229}
    12281230
    12291231?>