'redirect', self::CAP_GROUP_MANAGE => 'groups', self::CAP_404_MANAGE => '404s', self::CAP_LOG_MANAGE => 'log', self::CAP_IO_MANAGE => 'io', self::CAP_OPTION_MANAGE => 'options', self::CAP_SUPPORT_MANAGE => 'support', self::CAP_SITE_MANAGE => 'site', ]; $available = []; foreach ( $pages as $key => $page ) { if ( self::has_access( $key ) ) { $available[] = $page; } } return array_values( apply_filters( self::FILTER_PAGES, $available ) ); } /** * Return all the capabilities the current user has * * @return array Array of capabilities */ public static function get_all_capabilities() { $caps = self::get_every_capability(); $caps = array_filter( $caps, function( $cap ) { return self::has_access( $cap ); } ); return array_values( apply_filters( self::FILTER_ALL, $caps ) ); } /** * Unfiltered list of all the supported capabilities, without influence from the current user * * @return array Array of capabilities */ public static function get_every_capability() { return [ self::CAP_REDIRECT_MANAGE, self::CAP_REDIRECT_ADD, self::CAP_REDIRECT_DELETE, self::CAP_GROUP_MANAGE, self::CAP_GROUP_ADD, self::CAP_GROUP_DELETE, self::CAP_404_MANAGE, self::CAP_404_DELETE, self::CAP_LOG_MANAGE, self::CAP_LOG_DELETE, self::CAP_IO_MANAGE, self::CAP_OPTION_MANAGE, self::CAP_SUPPORT_MANAGE, self::CAP_SITE_MANAGE, ]; } }