Definition der Endpunkte der WordPress-Rest-API ausblenden

Lesezeit: 1 Minute

Benutzer-Avatar
Estuardo Estrada

Ich möchte die Definition von Endpunkten in einer WordPress-Rest-API ausblenden … im Fall von https://www.wpwhitesecurity.com/wp-json Ich möchte einen 404 oder ein leeres Array zurückgeben, aber nicht die Liste der Endpunkte der Site.

Irgendeine Idee?

Vielen Dank!

Benutzer-Avatar
Estuardo Estrada

Ab Version 4.4.0 existiert der Hook rest_index, die Dokumentation in https://developer.wordpress.org/reference/hooks/rest_index/ beschreibt:

Diese enthält die Daten, die die API beschreiben. Dazu gehören Informationen über unterstützte Authentifizierungsschemata, unterstützte Namespaces, auf der API verfügbare Routen und eine kleine Menge an Daten über die Site.

Der nächste Code funktioniert perfekt, wie ich es brauchte:

function my_site_rest_index( $response ){
    return array();
}
add_filter('rest_index', 'my_site_rest_index');

function chuck_disable_rest_endpoints( $access ) {
  if( ! is_user_logged_in() ) {
        return new WP_Error( 'rest_cannot_access', __( 'Only logged users are able to call REST API.', 'disable-json-api' ), array( 'status' => rest_authorization_required_code() ) );
  }return $access;                                                            
}                                                
add_filter( 'rest_authentication_errors', 'chuck_disable_rest_endpoints' );

Dadurch wird zurückgegeben, dass nur angemeldete Benutzer auf die API zugreifen können

1098630cookie-checkDefinition der Endpunkte der WordPress-Rest-API ausblenden

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy