Wordpress Rest-API Endpunkt einrichten

Mit diesem Script kann ein neuer Rest-API Endpunkt eingerichtet werden, der dann über die Website URL aufrufbar ist. In diesem Beispiel wird ein News Endpunkt erstellt, alles nur fiktiv, aber es zeigt wie man es macht.

<?php
/*
	Eigener Endpoint damit eine komplett eigeneJSON Ausgabe erzeugt werden kann
 
	Doku : https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/
 */
 
 /*
 	REST URL :
		http://localhost:8888/wp-json/mein-namespace/v1/items/<TYPE:string>/<LEVEL:integer>
 
  */
add_action( 'rest_api_init', 'register_news_endpoint' );
function register_news_endpoint(){
		// http://localhost:8888/wp-json/mein-namespace/v1/items/<TYPE:string>/<ID:integer>
		$namespace = 'mein-namespace/v1/';
		/* type => string aus klein Großbuchsten, Zahlen & -, sowie _ */
		/* ID => integer Zahl */
		$route     = 'items/(?P<type>[a-zA-Z0-9-_]+)/(?P<id>\d+)/';
		$args      = [
			'methods'  => 'GET',
			'callback' => 'render_rest_item_endpoint',
		];
 
		register_rest_route( $namespace, $route, $args );
}
 
/**
 *
 *
 *
 */
function render_rest_item_endpoint( $request ) {
	/*
	WP codiert selbst alles im "Return" als JSON.
	Alles was davor ausgegeben wird, taucht 1:1 so im Browser auf
	 */
 
	$type = $request['type'];
	$ID = $request['id'];
 
	$return_array = [
		'type' => $type,
		'ID'      => $ID,
	];
 
	return$return_array; /* <- wird automatisch in JSON umgewandelt */
}

Page Tools