{"id":59038,"date":"2024-04-08T20:29:29","date_gmt":"2024-04-08T18:29:29","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=59038&#038;preview=true&#038;preview_id=59038"},"modified":"2024-04-16T11:25:29","modified_gmt":"2024-04-16T09:25:29","slug":"wp-rest-api-custom-endpoint","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/","title":{"rendered":"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen"},"content":{"rendered":"<p><a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-wordpress\/\">WordPress<\/a> is een van &#8217;s werelds populairste <a href=\"https:\/\/kinsta.com\/blog\/content-management-system\/\">content management systemen<\/a> (CMS&#8217;en) en helpt kleine en grote bedrijven bij het opzetten en maken van verschillende vormen van websitecontent. Maar WordPress is verder ge\u00ebvolueerd dan alleen het ondersteunen van traditionele blogcontent &#8211; en dat is grotendeels te danken aan de WordPress REST API.<\/p>\n<p>De <a href=\"https:\/\/kinsta.com\/nl\/blog\/rest-api-wordpress\/\">WordPress REST API<\/a> verbindt WordPress met andere externe webapplicaties. Het maakt toegankelijkere communicatie mogelijk en helpt je om meeslepende, aantrekkelijke webervaringen te bouwen die naadloos integreren met het CMS platform.<\/p>\n<p>Deze API gebruikt endpoints om WordPress inhoud als JSON objecten op te halen en te manipuleren. Met deze endpoints kun je WordPress content op afstand cre\u00ebren, lezen, bijwerken en verwijderen (CRUD) zonder in te loggen op het <a href=\"https:\/\/kinsta.com\/blog\/wordpress-admin\/\">WordPress Admin<\/a> account, wat flexibiliteit biedt en de functionaliteit van WordPress uitbreidt tot buiten de kernfuncties.<\/p>\n<p>Deze handleiding onderzoekt wat de WordPress REST API is, de voordelen ervan, hoe het de basismogelijkheden van WordPress uitbreidt en hoe je een custom endpoint kunt maken, registreren en openen.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Vereisten<\/h2>\n<p>Om deze handleiding te kunnen volgen, heb je nodig:<\/p>\n<ul>\n<li>Kennis van REST API<\/li>\n<li>Een WordPress site die al is opgezet (je kunt er <a href=\"https:\/\/kinsta.com\/nl\/docs\/wordpress-hosting\/wordpress-aan-de-slag\/nieuwe-site\/\">eenvoudig een opzetten met het MyKinsta<\/a> dashboard)<\/li>\n<li>Kennis van het gebruik van <a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-wordpress\/\">WordPress<\/a> en <a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-php\/\">PHP<\/a><\/li>\n<\/ul>\n<h2>De WordPress REST API begrijpen<\/h2>\n<p>De WordPress REST API is een krachtige interface waarmee je programmatisch kunt communiceren met WordPress sites met behulp van standaard <a href=\"https:\/\/kinsta.com\/nl\/onderwerpen\/http-statuscodes\/\">HTTP<\/a> methoden.<\/p>\n<p>De standaard mogelijkheden omvatten het benaderen en manipuleren van verschillende soorten WordPress gegevens, zoals berichten, pagina&#8217;s, opmerkingen, gebruikers en taxonomie\u00ebn, in een gestructureerd JSON format. Je kunt ook op afstand CRUD acties uitvoeren op content.<\/p>\n<p>De echte waarde van de WordPress REST API ligt echter in de uitbreidbaarheid via custom endpoints. Je kunt custom endpoints maken om de API aan te passen aan specifieke behoeften, zoals het integreren van extra functionaliteiten, services van derden of unieke gegevensstructuren. Deze flexibiliteit stelt je in staat om zeer custom en functierijke applicaties te bouwen bovenop WordPress.<\/p>\n<h2>Zo plan je je custom API endpoints<\/h2>\n<p>Het plannen van de structuur en het doel van je custom endpoints is de sleutel tot effici\u00ebnte API ontwikkeling. Custom endpoints die zijn afgestemd op jouw specifieke behoeften vereisen zorgvuldige overweging om optimale functionaliteit te garanderen. Strategische planning vergemakkelijkt schaalbaarheid en aanpasbaarheid, en maakt endpoints klaar voor de toekomst om tegemoet te komen aan veranderende bedrijfsbehoeften.<\/p>\n<p>Het plannen van je custom API endpoints v\u00f3\u00f3r de implementatiefase zorgt voor:<\/p>\n<ul>\n<li><strong>Duidelijkheid van endpointfuncties<\/strong> &#8211; Het plannen van je endpoint verduidelijkt de specifieke functie van het endpoint, de verwachte datatypes en het gebruik.<\/li>\n<li><strong>Consistentie en ontwikkelingseffici\u00ebntie<\/strong> &#8211; Planning zorgt ook voor consistentie in het gebruik van de endpoints, responstypen en opmaak, wat de interactie met de API verbetert. Bovendien maakt het kennen van het doel van de API een juiste implementatie mogelijk, waardoor de ontwikkelingstijd wordt verkort en de kans op fouten afneemt.<\/li>\n<li><strong>Schaalbaarheid en aanpasbaarheid<\/strong> &#8211; Het defini\u00ebren van de behoeften van je endpoint helpt om het toekomstbestendig te maken, zodat het tegemoet kan komen aan veranderende bedrijfsbehoeften en -eisen zonder dat een compleet herontwerp nodig is.<\/li>\n<li><strong>Beveiliging &#8211; <\/strong>Een goede planning van endpoints helpt bij het bepalen van de noodzaak voor authenticatie om toegang te krijgen tot gegevens of deze te manipuleren. Voor het verkrijgen van content via de API is soms geen gebruikersauthenticatie nodig. Maar voor content die gevoelige of ongeautoriseerde gegevens bevat, is het essentieel om beveiligingseisen te defini\u00ebren en maatregelen zoals autorisatie en toegangscontroles te implementeren om de beveiliging van gegevens te helpen garanderen.<\/li>\n<\/ul>\n<p>In de praktijkgerichte secties die volgen, wordt uitgelegd hoe je een custom endpoint kunt maken dat beschikbaar is op <code>site-domain\/wp-json\/custom\/v2\/testimonials<\/code> om getuigenissen van klanten op te halen uit een database van je WordPress site.<\/p>\n<p>Na het verzenden van een verzoek retourneert het endpoint een JSON object met informatie over de getuigenissen op je WordPress site zoals gedefinieerd in je callback functie.<\/p>\n<p>Laten we erin duiken!<\/p>\n<h2>Een custom berichttype maken voor je endpoint<\/h2>\n<p>Eerst moet je een custom berichttype maken.<\/p>\n<ol start=\"1\">\n<li>Navigeer naar de <strong>Theme File Editor<\/strong> in het <strong>Appearance<\/strong> gedeelte van je <a href=\"https:\/\/kinsta.com\/blog\/wordpress-admin\/\">WordPress Admin<\/a> dashboard.<\/li>\n<li>Open het bestand <strong>function.php<\/strong> van je thema en voeg de volgende code toe:\n<pre><code class=\"language-php\">function create_custom_testimonial_type() {\n    register_post_type('testimonials', array(\n        'labels' =&gt; array(\n            'name' =&gt; 'Testimonials',\n            'singular_name' =&gt; 'Testimonial',\n        ),\n        'public' =&gt; true,\n        'has_archive' =&gt; true,\n        'show_in_rest' =&gt; true, \/\/ This enables REST API support\n    ));\n}\nadd_action('init', 'create_custom_testimonial_type');<\/code><\/pre>\n<p>Deze code maakt een custom &#8220;testimonials&#8221; <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_post_type\/\" target=\"_blank\" rel=\"noopener noreferrer\">berichttype<\/a> en schakelt de WordPress REST API ondersteuning in (<code>'show_in_rest' =&gt; true<\/code>). De <code><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_action\/\" target=\"_blank\" rel=\"noopener noreferrer\">add_action hook<\/a><\/code> roept de <code>create_testimonial_type<\/code> callback functie aan en start deze tijdens de uitvoering.<\/p>\n<p>Je kunt de labels en argumenten aanpassen door ze te verwijderen of toe te voegen.<\/li>\n<li>Klik op <strong>Update file <\/strong>om je wijzigingen op te slaan.\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/creating-custom-testimonial-post-type.jpg\" alt=\"Screenshot van de code in het functions.php bestand, waarmee een aangepast 'testimonial' berichttype wordt gemaakt\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Een <code>custom_testimonial<\/code> berichttype maken.<\/figcaption><\/figure>\n<p>Vernieuw het dashboard om te zien dat de optie <strong>Testimonials<\/strong> is toegevoegd aan je WordPress dashboard.<\/p>\n<p><figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/post-type-created.jpg\" alt=\"Screenshot showing the newly created testimonial post type\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Het nieuw aangemaakte testimonial berichttype.<\/figcaption><\/figure><\/li>\n<li>Maak een nieuwe post met testimonials door te klikken op <strong>Testimonials &gt; Add new post<\/strong>. Je kunt het blok <strong>Pullquote<\/strong> gebruiken. Afhankelijk van hoe je je testimonial presenteert, kun je ook andere blokken gebruiken.<\/li>\n<\/ol>\n<p>Hier zijn twee voorbeeldtestimonials die zijn gemaakt met de blokken Pullquote:<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/two-testimonials-added.jpg\" alt=\"Screenshot van de twee testimonials die zijn gemaakt met het pullquote-blok\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Nieuw aangemaakte testimonials.<\/figcaption><\/figure>\n<h2>Een custom endpoint registreren in WordPress<\/h2>\n<p>Het registreren van een custom endpoint maakt het beschikbaar voor consumptie via de REST API. Dit houdt in dat je de <code>register_rest_route<\/code> functie gebruikt, deze aanroept op de <code><a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/rest_api_init\/\" target=\"_blank\" rel=\"noopener noreferrer\">rest_api_init<\/a><\/code> hook, en een callback methode op te geven die wordt aangeroepen wanneer de route wordt aangeroepen.<\/p>\n<p>Plak de volgende code in het bestand <strong>function.php<\/strong> van je thema:<\/p>\n<pre><code class=\"language-php\">add_action( 'rest_api_init', 'register_testimonial_rest_route' );\n \nfunction register_testimonial_rest_route(){\n\tregister_rest_route(\n\t\t'custom\/v2',\n\t\t'\/testimonials',\n\t\tarray(\n\t\t\t'methods' =&gt; 'GET',\n\t\t\t'callback' =&gt; 'get_testimonials',\n\t\t)\n\t);\n}<\/code><\/pre>\n<p>Deze <code><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_rest_route\/\" target=\"_blank\" rel=\"noopener noreferrer\">register_rest_route()<\/a><\/code> neemt drie parameters op:<\/p>\n<ul>\n<li><strong>Route Namespace<\/strong> (<code>$route_namespace<\/code>) &#8211; Dit is het eerste deel van het URL segment en moet het patroon vendor\/versienummer volgen. De vendor staat voor de slug van de leverancier of het thema. De naamruimte helpt om endpoints te onderscheiden en helpt klanten om contact op te nemen met ondersteuning voor jouw custom endpoint. Deze tutorial gebruikt de <code>custom\/v2<\/code> naamruimte.<\/li>\n<li><strong>De basis URL <\/strong> (<code>$route<\/code>) &#8211; Deze volgt de namespaceen is een URL die gekoppeld is aan een methode. Je kunt meer dan \u00e9\u00e9n endpoint registreren voor je route. Voor deze tutorial gebruik je de <code>\/testimonials<\/code> route, die het endpoint vertelt om testimonials op te halen.<\/li>\n<li><strong>De opties van het endpoint (<code>$args<\/code>) &#8211; Hier is dit een array die de HTTP methode bevat die wordt gebruikt bij het aanroepen van de route en de callback-functie die het endpoint zal aanroepen wanneer je een verzoek verstuurt. We zullen deze callback-functie in de volgende sectie bespreken.<\/strong><\/li>\n<\/ul>\n<p>Noteer tenslotte het adres van je endpoint. Het formaat van een endpoint is <code>site-address\/wp-json\/namespace\/route<\/code>. In dit voorbeeld is het endpoint dus <code>https:\/\/www.staging.kidspartysanctuary.co.uk\/wp-json\/custom\/v2\/testimonials<\/code>.<\/p>\n<h2>De callback-funtie voor het endpoint implementeren<\/h2>\n<p>Na het maken van het custom berichttype en het registreren van je custom endpoint, is de volgende stap het schrijven van je callback-functie. Deze callback-functie wordt elke keer aangeroepen als het endpoint wordt benaderd.<\/p>\n<ol start=\"1\">\n<li>Declareer je <code>get_testimonials<\/code> callback-functie met de onderstaande code:\n<pre><code class=\"language-php\">function get_testimonials(){\n\n}<\/code><\/pre>\n<\/li>\n<li>Initialiseer een lege testimonials array om de opgehaalde WordPress testimonial gegevens in op te slaan:\n<pre><code class=\"language-php\">$testimonials = array();<\/code><\/pre>\n<\/li>\n<li>Stel een array in met de naam <code>$args<\/code> met queryparameters voor een <code><a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/\" target=\"_blank\" rel=\"noopener noreferrer\">WP_Query<\/a><\/code> call.\n<pre><code class=\"language-php\">$args = array(\n    'post_type' =&gt; 'testimonials', \/\/specifies you want to query the custom post type   \n'testimonial',\n    'nopaging' =&gt; true,  \/\/ no pagination, but retrieve all testimonials at once\n),<\/code><\/pre>\n<\/li>\n<li>Maak een instantie van de klasse <code>WP_Query<\/code> die de array <code>$args<\/code> opneemt, een query uitvoert op basis van de opgegeven parameters en de resultaten van de WordPress query opslaat in de variabele <code>$query<\/code>.\n<pre><code class=\"language-php\">$query = new WP_Query($args)<\/code><\/pre>\n<\/li>\n<li>Schrijf een voorwaardelijke declaration om te controleren of er getuigenisberichten zijn. Maak dan een <code>while<\/code> loop om de berichten te doorlopen en de testimonials terug te sturen naar <code>title<\/code> en <code>content<\/code>.\n<pre><code class=\"language-php\">if ( $query-&gt;have_posts() ) {\n        while ( $query-&gt;have_posts() ) {\n            $query-&gt;the_post();\n            $testimonial_data = array( \/*an array that stores the title \nand content of every post*\/\n            'title' =&gt; get_the_title(),\n                'content' =&gt; get_the_content(),\n                \/\/ Add other fields as needed\n            );\n            $testimonials[] = $testimonial_data; \n        }\n        wp_reset_postdata(); \/* restores $post \nglobal to the current post to avoid any conflicts in subsequent queries*\/\n    }\n    return rest_ensure_response( $testimonials ); \/*ensures response is \ncorrectly set as a response object for consistency*\/<\/code><\/pre>\n<p>Hier is de volledige code:<\/p>\n<pre><code class=\"language-php\">function get_testimonials() {\n$testimonials = array();\n$args = array(\n    'post_type' =&gt; 'testimonials',\n    'nopaging' =&gt; true,\n);\n$query = new WP_Query( $args );\nif ( $query-&gt;have_posts() ) {\n    while ( $query-&gt;have_posts() ) {\n        $query-&gt;the_post();\n        $testimonial_data = array(\n            'title' =&gt; get_the_title(),\n            'content' =&gt; get_the_content(),\n            \/\/ Add other fields as needed\n        );\n        $testimonials[] = $testimonial_data;\n    }\n    wp_reset_postdata();\n}\nreturn rest_ensure_response( $testimonials );\n}<\/code><\/pre>\n<\/li>\n<li>Test je endpoint met <a href=\"https:\/\/www.postman.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Postman<\/a> om te controleren of je toegang hebt tot je gegevens.\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/testing-with-postman.png\" alt=\"Screenshot van een succesvolle Postman API call naar het testimonial custom endpoint\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Postman toont een succesvol antwoord.<\/figcaption><\/figure>\n<p>Je kunt dit ook testen met een browser. Ga naar het endpoint door de URL <code>site-domain\/wp-json\/custom\/v2\/testimonials<\/code> in te voeren in de adresbalk van je browser.<\/p>\n<p><figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/testing-with-browser.png\" alt=\"Het browserresultaat dat verschijnt wanneer het endpoint wordt benaderd.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Het browserresultaat dat verschijnt wanneer het endpoint wordt benaderd.<\/figcaption><\/figure><\/li>\n<\/ol>\n<h2>Samenvatting<\/h2>\n<p>Deze tutorial heeft uitgelegd hoe je een WordPress API custom endpoint kunt implementeren. Om gebruikers toegang te geven tot en te laten communiceren met je WordPress database gegevens, hoef je alleen maar de route te registreren die een callback-functie implementeert.<\/p>\n<p>Wil je weten hoe je WordPress kunt maximaliseren voor jouw bedrijf? Kinsta biedt tal van geavanceerde opties als onderdeel van onze <a href=\"https:\/\/kinsta.com\/nl\/wordpress-hosting\/\">managed WordPress Hosting service<\/a> om aan je unieke zakelijke behoeften te voldoen. Een opvallende optie is de <a href=\"https:\/\/kinsta.com\/nl\/docs\/wordpress-hosting\/kinsta-mu-plugin\/\">Kinsta MU (must-use) plugin<\/a>, die caching voor je site beheert en implementeert om latency te verminderen en prestaties te verbeteren. <a href=\"https:\/\/kinsta.com\/nl\/registreren\/wp\/\">Probeer Kinsta vandaag<\/a> nog!<\/p>\n<p><em>Wat is jouw mening over het ontwikkelen van custom WordPress API endpoints? Heb je er ooit een ontworpen? We horen graag over je ervaringen. Deel ze in de commensectie hieronder.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress is een van &#8217;s werelds populairste content management systemen (CMS&#8217;en) en helpt kleine en grote bedrijven bij het opzetten en maken van verschillende vormen van &#8230;<\/p>\n","protected":false},"author":199,"featured_media":59039,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[911,892,902],"class_list":["post-59038","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-wordpress-ontwikkeling","topic-wordpress-themas"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Leer hoe je je WordPress site kunt verbeteren door custom berichttypes te maken en hun REST API endpoints te configureren.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen\" \/>\n<meta property=\"og:description\" content=\"Leer hoe je je WordPress site kunt verbeteren door custom berichttypes te maken en hun REST API endpoints te configureren.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-08T18:29:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-16T09:25:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Leer hoe je je WordPress site kunt verbeteren door custom berichttypes te maken en hun REST API endpoints te configureren.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api-1024x512.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen\",\"datePublished\":\"2024-04-08T18:29:29+00:00\",\"dateModified\":\"2024-04-16T09:25:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/\"},\"wordCount\":1417,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/\",\"name\":\"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"datePublished\":\"2024-04-08T18:29:29+00:00\",\"dateModified\":\"2024-04-16T09:25:29+00:00\",\"description\":\"Leer hoe je je WordPress site kunt verbeteren door custom berichttypes te maken en hun REST API endpoints te configureren.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/nl\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen - Kinsta\u00ae","description":"Leer hoe je je WordPress site kunt verbeteren door custom berichttypes te maken en hun REST API endpoints te configureren.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/","og_locale":"nl_NL","og_type":"article","og_title":"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen","og_description":"Leer hoe je je WordPress site kunt verbeteren door custom berichttypes te maken en hun REST API endpoints te configureren.","og_url":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2024-04-08T18:29:29+00:00","article_modified_time":"2024-04-16T09:25:29+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Leer hoe je je WordPress site kunt verbeteren door custom berichttypes te maken en hun REST API endpoints te configureren.","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api-1024x512.jpg","twitter_creator":"@Kinsta_NL","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Jeremy Holcombe","Geschatte leestijd":"9 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen","datePublished":"2024-04-08T18:29:29+00:00","dateModified":"2024-04-16T09:25:29+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/"},"wordCount":1417,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/","url":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/","name":"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","datePublished":"2024-04-08T18:29:29+00:00","dateModified":"2024-04-16T09:25:29+00:00","description":"Leer hoe je je WordPress site kunt verbeteren door custom berichttypes te maken en hun REST API endpoints te configureren.","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/wp-rest-api-custom-endpoint\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/api\/"},{"@type":"ListItem","position":3,"name":"WordPress aanpassen voor developers: custom REST API endpoints ontwikkelen"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/nl\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/59038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=59038"}],"version-history":[{"count":4,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/59038\/revisions"}],"predecessor-version":[{"id":59087,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/59038\/revisions\/59087"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/translations\/de"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59038\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/59039"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=59038"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=59038"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=59038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}