rotected function validate_request_permission( $check ) { $default_capability = 'view_site_health_checks'; /** * Filters the capability needed to run a given Site Health check. * * @since 5.6.0 * * @param string $default_capability The default capability required for this check. * @param string $check The Site Health check being performed. */ $capability = apply_filters( "site_health_test_rest_capability_{$check}", $default_capability, $check ); return current_user_can( $capability ); } /** * Checks if background updates work as expected. * * @since 5.6.0 * * @return array */ public function test_background_updates() { $this->load_admin_textdomain(); return $this->site_health->get_test_background_updates(); } /** * Checks that the site can reach the WordPress.org API. * * @since 5.6.0 * * @return array */ public function test_dotorg_communication() { $this->load_admin_textdomain(); return $this->site_health->get_test_dotorg_communication(); } /** * Checks that loopbacks can be performed. * * @since 5.6.0 * * @return array */ public function test_loopback_requests() { $this->load_admin_textdomain(); return $this->site_health->get_test_loopback_requests(); } /** * Checks that the site's frontend can be accessed over HTTPS. * * @since 5.7.0 * * @return array */ public function test_https_status() { $this->load_admin_textdomain(); return $this->site_health->get_test_https_status(); } /** * Checks that the authorization header is valid. * * @since 5.6.0 * * @return array */ public function test_authorization_header() { $this->load_admin_textdomain(); return $this->site_health->get_test_authorization_header(); } /** * Checks that full page cache is active. * * @since 6.1.0 * * @return array The test result. */ public function test_page_cache() { $this->load_admin_textdomain(); return $this->site_health->get_test_page_cache(); } /** * Gets the current directory sizes for this install. * * @since 5.6.0 * * @return array|WP_Error */ public function get_directory_sizes() { if ( ! class_exists( 'WP_Debug_Data' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-debug-data.php'; } $this->load_admin_textdomain(); $sizes_data = WP_Debug_Data::get_sizes(); $all_sizes = array( 'raw' => 0 ); foreach ( $sizes_data as $name => $value ) { $name = sanitize_text_field( $name ); $data = array(); if ( isset( $value['size'] ) ) { if ( is_string( $value['size'] ) ) { $data['size'] = sanitize_text_field( $value['size'] ); } else { $data['size'] = (int) $value['size']; } } if ( isset( $value['debug'] ) ) { if ( is_string( $value['debug'] ) ) { $data['debug'] = sanitize_text_field( $value['debug'] ); } else { $data['debug'] = (int) $value['debug']; } } if ( ! empty( $value['raw'] ) ) { $data['raw'] = (int) $value['raw']; } $all_sizes[ $name ] = $data; } if ( isset( $all_sizes['total_size']['debug'] ) && 'not available' === $all_sizes['total_size']['debug'] ) { return new WP_Error( 'not_available', __( 'Directory sizes could not be returned.' ), array( 'status' => 500 ) ); } return $all_sizes; } /** * Loads the admin textdomain for Site Health tests. * * The {@see WP_Site_Health} class is defined in WP-Admin, while the REST API operates in a front-end context. * This means that the translations for Site Health won't be loaded by default in {@see load_default_textdomain()}. * * @since 5.6.0 */ protected function load_admin_textdomain() { // Accounts for inner REST API requests in the admin. if ( ! is_admin() ) { $locale = determine_locale(); load_textdomain( 'default', WP_LANG_DIR . "/admin-$locale.mo", $locale ); } } /** * Gets the schema for each site health test. * * @since 5.6.0 * * @return array The test schema. */ public function get_item_schema() { if ( $this->schema ) { return $this->schema; } $this->schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'wp-site-health-test', 'type' => 'object', 'properties' => array( 'test' => array( 'type' => 'string', 'description' => __( 'The name of the test being run.' ), 'readonly' => true, ), 'label' => array( 'type' => 'string', 'description' => __( 'A label describing the test.' ), 'readonly' => true, ), 'status' => array( 'type' => 'string', 'description' => __( 'The status of the test.' ), 'enum' => array( 'good', 'recommended', 'critical' ), 'readonly' => true, ), 'badge' => array( 'type' => 'object', 'description' => __( 'The category this test is grouped in.' ), 'properties' => array( 'label' => array( 'type' => 'string', 'readonly' => true, ), 'color' => array( 'type' => 'string', 'enum' => array( 'blue', 'orange', 'red', 'green', 'purple', 'gray' ), 'readonly' => true, ), ), 'readonly' => true, ), 'description' => array( 'type' => 'string', 'description' => __( 'A more descriptive explanation of what the test looks for, and why it is important for the user.' ), 'readonly' => true, ), 'actions' => array( 'type' => 'string', 'description' => __( 'HTML containing an action to direct the user to where they can resolve the issue.' ), 'readonly' => true, ), ), ); return $this->schema; } } h Antenna – The future of Antennas

Ein Engagement für Innovation und Nachhaltigkeit

Études ist ein bahnbrechendes Unternehmen, das Kreativität und Funktionalität nahtlos miteinander verbindet, um architektonische Spitzenleistungen neu zu definieren.

Äußeres Gebäude in Toronto, Kanada

Eine Leidenschaft für die Gestaltung von Räumen

Unser umfassendes Angebot an professionellen Dienstleistungen richtet sich an einen breit gefächerten Kundenkreis, der von Hausbesitzern bis hin zu gewerblichen Bauträgern reicht.

Renovierung und Restaurierung

Erlebe die Verschmelzung von Fantasie und Fachwissen mit Études Architektonische Lösungen.

Fortlaufender Support

Erlebe die Verschmelzung von Fantasie und Fachwissen mit Études Architektonische Lösungen.

App-Zugang

Erlebe die Verschmelzung von Fantasie und Fachwissen mit Études Architektonische Lösungen.

Beratung

Erlebe die Verschmelzung von Fantasie und Fachwissen mit Études Architektonische Lösungen.

Projektmanagement

Erlebe die Verschmelzung von Fantasie und Fachwissen mit Études Architektonische Lösungen.

Architektonische Lösungen

Erlebe die Verschmelzung von Fantasie und Fachwissen mit Études Architektonische Lösungen.

Eine Reihe von Ressourcen

Unser umfassendes Angebot an professionellen Dienstleistungen richtet sich an einen breit gefächerten Kundenkreis, der von Hausbesitzern bis hin zu gewerblichen Bauträgern reicht.

Études Architekt-App

  • Arbeite mit anderen Architekten zusammen.
  • Stelle deine Projekte vor.
  • Erlebe die Welt der Architektur.
Tourist beim Fotografieren eines Gebäudes
Fenster eines Gebäudes in Nürnberg, Deutschland

Études-Newsletter

  • Eine Welt voller zum Nachdenken anregender Artikel.
  • Fallstudien, die die Architektur feiern.
  • Exklusiver Zugang zu Design-Einblicken.

„Études hat uns Tausende von Arbeitsstunden erspart und uns Einblicke verschafft, die wir nie für möglich gehalten hätten.“

Annie Steiner

CEO, Greenprint

Sehen, lesen, hören

Schließe dich 900+ Abonnenten an

Bleibe auf dem Laufenden mit allem, was du wissen musst.