Die WordPress API (Application Programming Interface) ist eine Reihe von Programmierschnittstellen, die es Entwicklern ermöglichen, auf die Funktionen und Daten einer WordPress-Website zuzugreifen und mit ihnen zu interagieren. Die API bietet eine strukturierte Methode zum Abrufen, Erstellen, Aktualisieren und Löschen von Inhalten wie Beiträgen, Seiten, Kommentaren, Benutzern und mehr. Es ermöglicht auch die Verwaltung von Plugins, Themes und Einstellungen sowie den Zugriff auf Informationen über die WordPress-Installation selbst.

Die WordPress API besteht aus mehreren Teilen, darunter:

  1. REST API: Die RESTful-API (Representational State Transfer) ist die neueste Version der WordPress-API und bietet einen standardisierten Weg, um über HTTP auf WordPress-Daten zuzugreifen. Sie verwendet üblicherweise JSON (JavaScript Object Notation) als Datenformat für den Austausch von Informationen zwischen dem Server und den Clients.

  2. XML-RPC-API: Diese ältere API ermöglicht es, über XML-RPC-Anfragen auf WordPress zuzugreifen. Sie wird jedoch zunehmend durch die REST API abgelöst und wird oft aus Sicherheitsgründen deaktiviert oder eingeschränkt.

  3. WP-CLI: Die WordPress Command Line Interface ist ein Befehlszeilenwerkzeug, das es ermöglicht, WordPress von der Kommandozeile aus zu verwalten und zu steuern. Es bietet eine schnelle und effiziente Möglichkeit, viele WordPress-Aufgaben auszuführen, ohne die grafische Benutzeroberfläche verwenden zu müssen.

Die WordPress API ist äußerst flexibel und ermöglicht es Entwicklern, maßgeschneiderte Lösungen zu erstellen, sei es die Integration von WordPress-Inhalten in andere Anwendungen, das Erstellen von mobilen Apps, die Automatisierung von Workflows oder die Entwicklung komplexer Websites.

Da WordPress innerhalb seiner Funktion teilweise auf die API selbst zugreift, empfiehlt es sich gewisse Endpunkte der API für unautorisierte Benutzer einzuschränken.


Gehen Sie wie folgt vor, um die wichtigsten API Endpunkte einzuschränken:

  1. Melden Sie im Admin-Webinterface von WordPress an
  2. Wählen Sie in der linken Menüleiste "Design"
  3. Wählen Sie "Theme-Datei-Editor" aus
  4. Achten Sie nun darauf, dass sie ihr aktives Design auswählen oberhalb der rechten Auswahlliste
  5. Wählen Sie nun in der rechten Auswahlliste "function.php" aus
  6. Tragen Sie am Ende der Datei folgenden Code-Snippet ein
functions.php
/**
 * REST-API Filter entfernt wichtige Informationen fuer den Zugriff von Aussen
 * @link https://developer.wordpress.org/rest-api/reference/ REST-API Referenz
 */
add_filter('rest_endpoints', function ($endpoints) {
    
    if ( ! is_user_logged_in() ) {
  
    $endpoints_to_remove = array(
    'users', /* Entfernt die User aus den Daten */
    'settings', /* Entfernt die Website-Einstellungen aus den Daten */
    'posts', /* Entfernt die Beitragsinhalte aus den Daten */
    'pages' /* Entfernt die Seiteninhalte aus den Daten */  
  );

  foreach ($endpoints_to_remove as $endpoint) {
    $base_endpoint = "/wp/v2/{$endpoint}";
    foreach ($endpoints as $maybe_endpoint => $object) {
      if (strpos($maybe_endpoint, $base_endpoint) !== false) {
        unset($endpoints[$maybe_endpoint]);
      }
    }
  }

  return $endpoints;
}    
});


  • Keine Stichwörter