{"id":1955,"date":"2024-12-20T20:02:34","date_gmt":"2024-12-20T20:02:34","guid":{"rendered":"\/tutorials\/?p=1955"},"modified":"2026-01-16T11:26:30","modified_gmt":"2026-01-16T11:26:30","slug":"wordpress-rest-api","status":"publish","type":"post","link":"\/nl\/tutorials\/wordpress-rest-api\/","title":{"rendered":"WordPress REST API Gids: hoe je deze in 2026 installeert en gebruikt"},"content":{"rendered":"<p class=\"wp-block-paragraph\">WordPress REST API is een interface waarmee het content management systeem (CMS) gegevens kan uitwisselen met diensten van derden. Hiermee kun je content direct vanuit de database benaderen, wat resulteert in een naadloze integratie.<\/p><p class=\"wp-block-paragraph\">REST API&rsquo;s worden onder andere gebruikt om een aangepaste toepassing te ontwikkelen die gebruik maakt van de gegevens of functionaliteit van het CMS. Je kunt bijvoorbeeld een headless WordPress opzetten om een website te maken gebaseerd op een modern framework zoals React bovenop het admin dashboard.<\/p><p class=\"wp-block-paragraph\">In deze WordPress REST API tutorial leggen we uit hoe deze tool werkt en hoe je hem kunt gebruiken. Je leert ook veelvoorkomende gebruiksvoorbeelden en best practices om effici&euml;nte ontwikkeling te garanderen.<\/p><p>\n\n\n\n\n\n<div class=\"protip\"><div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                   Wat is WordPress REST API?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\"><br>\nWordPress REST API is een interface waarmee je het CMS kunt integreren met andere toepassingen van derden. Hiermee kun je software of websites ontwikkelen die gebruik maken van de gegevens, functionaliteit en inhoud van WordPress, zonder dat je hier direct toegang toe hoeft te hebben.<\/p><p>WordPress REST API biedt eindpunten voor het ophalen en manipuleren van inhoud als JSON gegevens om compatibiliteit te garanderen, ongeacht de programmeertalen.<\/p><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading h-t-title-3\" id=\"h-hoe-wordpress-rest-api-werkt\"><strong>Hoe WordPress REST API werkt<\/strong><\/h3><p class=\"wp-block-paragraph\">Een Application Programming Interface (API) biedt een verzameling regels waarmee twee webservices met elkaar kunnen communiceren. Ondertussen staat REST voor Representational State Transfer, een architectuurstandaard die dergelijke communicatie definieert.<\/p><p class=\"wp-block-paragraph\">Een webapplicatie die de REST-principes volgt, wordt beschouwd als RESTful. Het moet bijvoorbeeld een uniforme interface gebruiken, die een enkel toegangspunt biedt om andere applicaties toegang te geven tot zijn gegevens.<\/p><p class=\"wp-block-paragraph\">Om data uit te wisselen, stuurt de REST API een <strong>verzoek<\/strong> naar de WordPress database, wat een set instructies is met informatie die je applicatie nodig heeft. In ruil daarvoor stuurt het een antwoord met de inhoud en een bevestiging of het proces succesvol is verlopen.<\/p><p class=\"wp-block-paragraph\">Je applicatie of client gebruikt routes om te bepalen welke gegevens moeten worden opgehaald. Dit zijn URL&rsquo;s die specifieke inhoud vinden via de WP REST API, zoals WordPress berichten of metadata. Het volgende geeft je bijvoorbeeld toegang tot pagina&rsquo;s:<\/p><pre class=\"wp-block-preformatted\">http:\/\/domain.tld\/wp-json\/wp\/v2\/pages<\/pre><p class=\"wp-block-paragraph\">Deze routes geven toegang tot de <strong>eindpunt functies<\/strong> in WP REST API die de gevraagde gegevens manipuleren. Je kunt de gegevens ophalen, toevoegen, bewerken of verwijderen, afhankelijk van de HTTP-<strong>methoden<\/strong> (Hypertext Transfer Protocol):<\/p><ul class=\"wp-block-list\">\n<li><strong>GET &ndash; <\/strong>haalt gegevens op van de server.<\/li>\n\n\n\n<li><strong>POST &ndash; <\/strong>voegt nieuwe gegevens toe aan de database.<\/li>\n\n\n\n<li><strong>PUT &ndash; <\/strong>wijzigt bestaande gegevens.<\/li>\n\n\n\n<li><strong>DELETE &ndash; <\/strong>verwijdert inhoud uit de database.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Alle opgehaalde gegevens worden weergegeven in JSON-indeling, wat betekent dat je ze moet parsen voordat je ze doorgeeft aan een andere code.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-je-omgeving-instellen-voor-wordpress-rest-api\"><strong>Je omgeving instellen voor WordPress REST API<\/strong><\/h2><p class=\"wp-block-paragraph\">De REST API functionaliteit is standaard ingeschakeld in de WordPress installatie. Ga na het kopen van een <strong><a href=\"\/nl\/wordpress-hosting\">WordPress hostingplan<\/a><\/strong> en het instellen van het CMS naar de volgende link om te controleren of de REST API is ingeschakeld:<\/p><pre class=\"wp-block-preformatted\">http:\/\/domain.tld\/wp-json\/<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6aabbd114b71b\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6aabbd114b71b\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"307\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-173.png\/public\" alt=\"\" class=\"wp-image-1958\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-173.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-173.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-173.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Vergeet niet om <strong>domain.tld <\/strong>te vervangen door het adres van je eigen website. Als je een lijst met eindpunten ziet, dan is de WordPress REST API actief. Merk op dat deze functie alleen beschikbaar is voor <strong>WordPress 4.7 <\/strong>of hoger.<\/p><p>\n\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Tip van een expert                <\/p>\n            <\/div>\n            <p class=\"protip__content\"> We raden aan om een lokale testomgeving op te zetten voor je WordPress ontwikkelactiviteiten om mogelijke misconfiguraties of ongewenste fouten te voorkomen die de beschikbaarheid van de website of de gebruikerservaring kunnen be&iuml;nvloeden.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><p class=\"wp-block-paragraph\">Installeer nu het hulpprogramma cURL in de opdrachtregelinterface (CLI) van je lokale machine, zoals Command Prompt of Terminal. Hiermee kun je verzoeken verzenden naar en ontvangen van de WordPress server om te testen.<\/p><p class=\"wp-block-paragraph\">Installeer vervolgens de WordPress REST API <strong><a href=\"https:\/\/github.com\/WP-API\/Basic-Auth\" target=\"_blank\" rel=\"noopener\">Basic Auth<\/a><\/strong> handler om je verificatiemethode te configureren. Hiermee krijg je toegang tot priv&eacute;gegevens waarvoor je beheerdersrechten nodig hebt.<\/p><p class=\"wp-block-paragraph\">Na het installeren van de plug-in kunnen we beginnen met het versturen van HTTP verzoeken via WordPress REST API. Open hiervoor WP-CLI en maak verbinding met je site via SSH. Hostinger gebruikers kunnen de referenties vinden door naar <strong>hPanel &rarr; Website beheer &rarr; Geavanceerd &rarr; SSH Toegang<\/strong> te gaan.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/nl\/wordpress-hosting\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/06\/NL-New-WP_in-text-banner-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-160\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/06\/NL-New-WP_in-text-banner-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/06\/NL-New-WP_in-text-banner-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/06\/NL-New-WP_in-text-banner-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p class=\"wp-block-paragraph\">Laten we proberen om toegang te krijgen tot beperkte gegevens om te controleren of de authenticatie van de WP REST API goed werkt.<\/p><p class=\"wp-block-paragraph\">We voeren bijvoorbeeld de volgende prompt uit in de opdrachtregeltoepassing van het lokale systeem om ongepubliceerde berichten op te halen:<\/p><pre class=\"wp-block-preformatted\">curl -X GET --user username:password -i http:\/\/domain.tld\/wp-json\/wp\/v2\/posts?status=draft<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6aabbd114f486\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6aabbd114f486\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"510\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-174.png\/public\" alt=\"WordPress REST API get verzoek haalt priv&eacute;gegevens op\" class=\"wp-image-1959\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-174.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-174.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-174.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-hoe-wordpress-rest-api-gebruiken\"><strong>Hoe WordPress REST API gebruiken<\/strong><\/h2><p class=\"wp-block-paragraph\">Na het instellen van je hosting en testomgeving, kunnen we beginnen met het gebruik van WordPress REST API. Hier zijn enkele alledaagse gebruikssituaties:<\/p><p>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>Belangrijk!<\/strong> Zorg ervoor dat je de API aanroep methoden en het JSON-formaat begrijpen voordat je verder gaat, zodat je de ruwe gegevens veel sneller kunt interpreteren.\n            <\/p><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading h-t-title-3\" id=\"h-1-gegevens-ophalen-met-get-verzoeken\"><strong>1. Gegevens ophalen met GET-verzoeken<\/strong><\/h3><p class=\"wp-block-paragraph\">Gebruik de GET methode om gegevens op te halen van je WordPress website via JSON REST API. We halen bijvoorbeeld inhoud op van het eindpunt <strong>Berichten<\/strong>:<\/p><pre class=\"wp-block-preformatted\">GET http:\/\/domain.tld\/wp-json\/wp\/v2\/posts\/<\/pre><p class=\"wp-block-paragraph\">Dit API verzoek zal alle berichten van je WordPress site afdrukken, inclusief details zoals ID, inhoud en titel. Als je het uitvoert met cURL, zou de uitvoer er uit moeten zien zoals hieronder.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6aabbd1150599\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6aabbd1150599\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"411\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-175.png\/public\" alt=\"WordPress REST API GET verzoek haalt berichten op\" class=\"wp-image-1960\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-175.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-175.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-175.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Je kunt ook pagina&rsquo;s ophalen met het bijbehorende eindpunt:<\/p><pre class=\"wp-block-preformatted\">GET http:\/\/domain.tld\/wp-json\/wp\/v2\/pages\/<\/pre><p class=\"wp-block-paragraph\">De uitvoer is vergelijkbaar, maar het commando haalt alle <strong>pagina&rsquo;s<\/strong> op in plaats van <strong>berichten<\/strong>. Je kunt ook aangepaste posttypes opvragen door hun naam op te geven in het eindpunt:<\/p><pre class=\"wp-block-preformatted\">GET http:\/\/domain.tld\/wp-json\/wp\/v2\/custom-post-type\/<\/pre><p class=\"wp-block-paragraph\">Gebruik bijvoorbeeld de volgende prompt om aangepaste berichten voor <strong>productpagina&rsquo;s<\/strong> op te halen:<\/p><pre class=\"wp-block-preformatted\">GET http:\/\/domain.tld\/wp-json\/wp\/v2\/product-page<\/pre><p>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>Belangrijk!<\/strong> Vergeet niet om cURL te gebruiken om REST API requests te testen via WP-CLI. Gebruik in plaats daarvan functies of bibliotheken zoals <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/fetch\" target=\"_blank\" rel=\"noopener\">JavaScript&rsquo;s Fetch<\/a> voor de eigenlijke applicatiecode.\n            <\/p><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\">Je kunt een query parameter gebruiken om de uitvoer aan te passen, zoals het pagineren of sorteren van de gegevens. Gebruik bijvoorbeeld het volgende endpoint om berichten te rangschikken op basis van hun aanmaakdatum in oplopende volgorde:<\/p><pre class=\"wp-block-preformatted\">\/wp-json\/wp\/v2\/posts?orderby=date&amp;order=desc<\/pre><p class=\"wp-block-paragraph\">Gebruik ondertussen <strong>pagina<\/strong> en<strong> per_pagina<\/strong> query parameters om een specifiek aantal berichten van een bepaalde pagina op te halen. Dit is een voorbeeld:<\/p><pre class=\"wp-block-preformatted\">\/wp-json\/wp\/v2\/posts?page=2&amp;per_page=10<\/pre><p class=\"wp-block-paragraph\">Met dit eindpunt gebruikt de GET-methode paginering om berichten in groepen van 10 items te verdelen en de tweede pagina op te halen.<\/p><p class=\"wp-block-paragraph\">WordPress biedt verschillende query parameters aan om gegevens te filteren op basis van specifieke criteria. Om hier meer over te weten te komen, kun je de documentatie over <strong><a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/posts\/\" target=\"_blank\" rel=\"noopener\">posts REST API referenties<\/a><\/strong> bekijken.<\/p><h3 class=\"wp-block-heading h-t-title-3\" id=\"h-2-inhoud-maken-met-post-verzoeken\"><strong>2. Inhoud maken met POST-verzoeken<\/strong><\/h3><p class=\"wp-block-paragraph\">Met de POST methode kun je nieuwe inhoud toevoegen aan de WordPress database door gebruik te maken van een bepaald eindpunt. Gebruik bijvoorbeeld de volgende prompt om een lege post te maken:<\/p><pre class=\"wp-block-preformatted\">POST http:\/\/domain.tld\/wp-json\/wp\/v2\/posts\/<\/pre><p class=\"wp-block-paragraph\">Je kunt ook nieuwe pagina&rsquo;s of aangepaste berichtvermeldingen maken met behulp van hun respectievelijke WordPress REST API-eindpunten zoals dit:<\/p><pre class=\"wp-block-preformatted\">POST http:\/\/domain.tld\/wp-json\/wp\/v2\/pages\/<br><br>POST http:\/\/domain.tld\/wp-json\/wp\/v2\/custom-post-types\/<\/pre><p class=\"wp-block-paragraph\">Om een eigen bericht te maken met een <strong>titel<\/strong>, <strong>publicatiestatus<\/strong> en <strong>inhoud<\/strong>, moet je deze details specificeren in de code van je applicatie.<\/p><p class=\"wp-block-paragraph\">Bovendien vereist het WordPress REST API POST verzoek gewoonlijk beheerdersrechten. Als je authenticatie methoden zoals open authenticatie (OAuth) gebruikt, zorg er dan voor dat je het verificatie token toevoegt.<\/p><p class=\"wp-block-paragraph\">Je zult ook respons validatie moeten toevoegen, zodat je applicatie kan bevestigen of het POST API verzoek succesvol is.<\/p><h3 class=\"wp-block-heading h-t-title-3\" id=\"h-3-inhoud-bijwerken-en-verwijderen\"><strong>3. Inhoud bijwerken en verwijderen<\/strong><\/h3><p class=\"wp-block-paragraph\">Met de WordPress REST API PUT-methode kun je een specifieke post, pagina of aangepast bericht wijzigen met behulp van de bijbehorende ID. Je kunt bijvoorbeeld nieuwe inhoud invoegen of de publicatiestatus wijzigen.<\/p><p class=\"wp-block-paragraph\">De syntaxis is vergelijkbaar met andere API aanroep methoden, maar heeft de bericht-ID aan het einde van de route:<\/p><pre class=\"wp-block-preformatted\">PUT http:\/\/domain.tld\/wp-json\/wp\/v2\/posts\/ID<\/pre><p class=\"wp-block-paragraph\">Specificeer vervolgens de gegevens die je wilt wijzigen. Om bijvoorbeeld nieuwe inhoud in te voegen, voeg je de volgende regel toe:<\/p><pre class=\"wp-block-preformatted\">{\"content\" = \"publish\"}<\/pre><p class=\"wp-block-paragraph\">Voor het verwijderen van berichten, pagina&rsquo;s of aangepaste vermeldingen voor berichten wordt ook hun ID gebruikt, zoals in het onderstaande voorbeeld:<\/p><pre class=\"wp-block-preformatted\">DELETE http:\/\/domain.tld\/wp-json\/wp\/v2\/posts\/ID<\/pre><p class=\"wp-block-paragraph\">Standaard verplaatst de methode DELETE gegevens naar de prullenbak, zodat je ze later kunt herstellen als dat nodig is. Voor permanente verwijdering voeg je de parameter <strong>forceren<\/strong> als volgt toe:<\/p><pre class=\"wp-block-preformatted\">DELETE http:\/\/domain.tld\/wp-json\/wp\/v2\/posts\/567?force=true<\/pre><p>\n\n\n    <div class=\"announcement-block announcement-block--warning\">\n        <span class=\"announcement-block__heading\">\n            <svg width=\"24\" height=\"26\" viewBox=\"0 0 24 26\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                d=\"M12 23.5C17.799 23.5 22.5 18.799 22.5 13C22.5 7.20101 17.799 2.5 12 2.5C6.20101 2.5 1.5 7.20101 1.5 13C1.5 18.799 6.20101 23.5 12 23.5ZM13.637 8.65198C13.637 7.74791 12.9041 7.01501 12 7.01501C11.0959 7.01501 10.363 7.74791 10.363 8.65198C10.5335 10.5375 10.875 14.383 10.875 14.383C10.875 15.0043 11.3787 15.508 12 15.508C12.6213 15.508 13.125 15.0043 13.125 14.383V14.38L13.637 8.65198ZM11.9927 16.714C11.3714 16.714 10.8677 17.2177 10.8677 17.839C10.8677 18.4603 11.3714 18.964 11.9927 18.964H12.0073C12.6286 18.964 13.1323 18.4603 13.1323 17.839C13.1323 17.2177 12.6286 16.714 12.0073 16.714H11.9927Z\"\n                fill=\"#BE1025\"\/>\n            <\/svg>\n            Warning        <\/span>\n        <p class=\"announcement-block__content\">\n            <strong>Let op!<\/strong> We raden aan om het argument forceren indien mogelijk te vermijden, omdat het per ongeluk gegevensverlies kan veroorzaken.        <\/p>\n    <\/div>\n\n    \n\n\n\n<\/p><h3 class=\"wp-block-heading h-t-title-3\" id=\"h-4-werken-met-aangepaste-eindpunten\"><strong>4. Werken met aangepaste eindpunten<\/strong><\/h3><p class=\"wp-block-paragraph\">WordPress REST API biedt verschillende standaard eindpunten met voorgedefinieerde functionaliteiten. Deze kunnen echter ontoereikend zijn als je applicatie specifieke gegevens nodig heeft.<\/p><p class=\"wp-block-paragraph\">Hoewel je de uitvoer van standaard eindpunten kunt aanpassen met behulp van filters of query parameters, is dit proces ineffectief vanwege extra code. Bovendien kan het moeilijk zijn om extra inhoud op te halen, zoals formulier inzendingen.<\/p><p class=\"wp-block-paragraph\">Om de toegang tot gegevens voor bepaalde behoeften te vereenvoudigen, kun je aangepaste eindpunten maken in WordPress. Je kunt dit doen door de functions.php van je thema aan te passen via de<strong> thema bestandseditor<\/strong> of door een aangepaste WordPress plug-in te maken.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6aabbd11521a1\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6aabbd11521a1\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"523\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-176.png\/public\" alt=\"Het bestand functions.php in de Theme file editor van WordPress\" class=\"wp-image-1961\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-176.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-176.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/28\/2024\/12\/image-176.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Voeg het volgende codefragment toe om een aangepast eindpunt te registreren, inclusief de route, callback functie en query-methode:<\/p><pre class=\"wp-block-preformatted\">add_action( 'rest_api_init', function () {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;register_rest_route( 'your_namespace\/v1', '\/your_endpoint\/', array(<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'methods' =&gt; 'GET',<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'callback' =&gt; 'your_endpoint_callback',<br><br>&nbsp;&nbsp;&nbsp;&nbsp;) );<br><br>} );<\/pre><p class=\"wp-block-paragraph\">Specificeer vervolgens de callback functie die moet worden geactiveerd wanneer het eindpunt wordt benaderd. Deze zal de gegevensmanipulatie afhandelen en het gevraagde antwoord retourneren.<\/p><pre class=\"wp-block-preformatted\">function your_endpoint_callback( $data ) {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Your logic to handle the request like returning a JSON response<br><br>&nbsp;&nbsp;&nbsp;&nbsp;return array( 'message' =&gt; 'Your custom endpoint works!' );<br><br>}<\/pre><p class=\"wp-block-paragraph\">Bijvoorbeeld, je WordPress site heeft formulieren waarvan de inzendingen worden geregistreerd als aangepaste berichten. Je kunt een aangepast eindpunt maken waarmee je de inzendingen kunt ophalen door het volgende codefragment toe te voegen:<\/p><pre class=\"wp-block-preformatted\">add_action( 'rest_api_init', function () {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;register_rest_route( 'custom\/v1', '\/form-submissions', array(<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'methods' =&gt; 'GET',<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'callback' =&gt; 'get_form_submissions',<br><br>&nbsp;&nbsp;&nbsp;&nbsp;) );<br><br>} );<br><br>function get_form_submissions() {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;$args = array(<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'post_type'&nbsp; &nbsp; &nbsp; =&gt; 'form_submission',<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'posts_per_page' =&gt; -1,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;$form_submissions = get_posts( $args );<br><br>&nbsp;&nbsp;&nbsp;&nbsp;$response = array();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;foreach ( $form_submissions as $submission ) {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response[] = array(<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id' &nbsp; &nbsp; &nbsp; &nbsp; =&gt; $submission-&gt;ID,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'title'&nbsp; &nbsp; &nbsp; =&gt; $submission-&gt;post_title,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'content'&nbsp; &nbsp; =&gt; $submission-&gt;post_content,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'author' &nbsp; &nbsp; =&gt; $submission-&gt;post_author,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'created_at' =&gt; $submission-&gt;post_date,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Add more fields as needed<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;return $response;<br><br>}<\/pre><p class=\"wp-block-paragraph\">De get_posts functie itereert de inzendingen, die je vervolgens kunt openen met de GET methode:<\/p><pre class=\"wp-block-preformatted\">GET http:\/\/domain.tld\/wp-json\/custom\/v1\/form-submissions<\/pre><h3 class=\"wp-block-heading h-t-title-3\" id=\"h-5-authenticatie-selecteren\"><strong>5. Authenticatie selecteren<\/strong><\/h3><p class=\"wp-block-paragraph\">WordPress REST API authenticatie zorgt voor een veilige gegevensoverdracht met geldige clients. Afhankelijk van de vereisten van hun toepassing kunnen gebruikers verschillende mechanismen implementeren.<\/p><p class=\"wp-block-paragraph\">WordPress gebruikt standaard <strong>cookie authenticatie<\/strong>. Aangemelde gebruikers krijgen authenticatie cookies toegewezen, die worden opgenomen in de verzoek header voor volgende API-aanroepen. Deze methode is eenvoudig, maar ongeschikt voor webservices van derden die authenticatie buiten WordPress vereisen.<\/p><p class=\"wp-block-paragraph\">Een andere methode is OAuth, die een authenticatie token gebruikt om verzoeken van je webservice te valideren. Omdat het geen gebruik maakt van gebruikersgegevens, biedt het meer flexibiliteit en betrouwbaarheid. Het installatieproces kan voor sommigen echter ingewikkeld zijn.<\/p><p class=\"wp-block-paragraph\">Om OAuth te configureren, gebruik je de offici&euml;le plugin van de <strong><a href=\"https:\/\/github.com\/WP-API\" target=\"_blank\" rel=\"noopener\">WordPress REST API GitHub repository<\/a><\/strong>. We raden ook OAuth 2.0 aan, omdat deze eenvoudiger te implementeren is, beter schaalbaar is en een nieuwere architectuur gebruikt dan versie 1.0.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-wordpress-rest-api-voorbeelden\"><strong>WordPress REST API voorbeelden<\/strong><\/h2><p class=\"wp-block-paragraph\">WordPress REST API is handig voor verschillende webontwikkeltaken en -toepassingen. Je kunt bijvoorbeeld berichten ophalen uit het CMS en deze weergeven op andere websites voor het distribueren van inhoud.<\/p><p class=\"wp-block-paragraph\">Een andere toepassing is het verzenden van gegevens van een bestaande statische site naar de WordPress backend. Dit vereenvoudigt het ontwikkelingsproces omdat je gebruik kunt maken van de mogelijkheden van het CMS om de gegevens op te slaan in plaats van handmatig een database te configureren.<\/p><p class=\"wp-block-paragraph\">WordPress API integratie maakt het ook mogelijk om de inhoud van je site automatisch bij te werken. Zo kun je bijvoorbeeld berichten van Apple News naar je website pushen met de PUT methode zonder in te loggen.<\/p><p class=\"wp-block-paragraph\">Een meer geavanceerd gebruik van REST API is het maken van een headless CMS. Je kunt bijvoorbeeld nieuwsgerichte mobiele apps maken die het WordPress-dashboard gebruiken voor inhoudsbeheer.<\/p><p class=\"wp-block-paragraph\">Echte API-toepassingen zijn onder andere het ophalen van specifieke berichtgegevens uit de database voor de blok-editor. Een ander voorbeeld is het weergeven van Google Maps op WordPress sites met behulp van plug-ins.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-best-practices-voor-het-gebruik-van-de-wordpress-rest-api\"><strong>Best Practices voor het gebruik van de WordPress REST API<\/strong><\/h2><p class=\"wp-block-paragraph\">Overweeg de volgende best practices om de WordPress REST API functie effici&euml;nt te gebruiken voor webontwikkeling en -integratie.<\/p><p class=\"wp-block-paragraph\"><strong>Zorg voor de juiste authenticatie<\/strong><\/p><p class=\"wp-block-paragraph\">Het instellen van de juiste authenticatie verbetert de beveiliging van WordPress REST API en zorgt ervoor dat alleen geautoriseerde gebruikers of applicaties toegang hebben tot gevoelige gegevens.<\/p><p class=\"wp-block-paragraph\">Het helpt kwetsbaarheden in de beveiliging te minimaliseren en voorkomt ongeautoriseerde toegang en datalekken. Om de beste methode te kiezen, moet je rekening houden met de schaalbaarheid, het gemak van implementatie en je vereisten.<\/p><p class=\"wp-block-paragraph\"><strong>Invoer zuiveren<\/strong><\/p><p class=\"wp-block-paragraph\">Het opschonen van invoer in WordPress REST API is belangrijk, vooral als je werkt met openbare gegevens waar alle gebruikers toegang toe hebben. Dit houdt in het valideren en opschonen van invoer van externe bronnen om te voorkomen dat kwaadaardige code het CMS infiltreert.<\/p><p class=\"wp-block-paragraph\">Het helpt ook om je WordPress te beschermen tegen beveiligingsproblemen zoals SQL injectie en cross-site scripting (XSS).<\/p><p class=\"wp-block-paragraph\">WordPress biedt ingebouwde functies voor het opschonen van invoergegevens, zoals <strong>sanitize_text_field(), sanitize_email() <\/strong>en <strong>sanitize_url().<\/strong> Voeg ze toe aan de code van je applicatie voor degenen die de opgehaalde inhoud ontvangen en parseren.<\/p><p class=\"wp-block-paragraph\"><strong>Gebruik Caching<\/strong><\/p><p class=\"wp-block-paragraph\">Caching helpt de prestaties en schaalbaarheid van je WordPress website te optimaliseren. Het verlaagt de serverbelasting en verbetert de responstijden door veelgebruikte gegevens in het geheugen op te slaan, waardoor clients en de API de gegevens sneller kunnen ophalen.<\/p><p class=\"wp-block-paragraph\">Het minimaliseren van de serverbelasting helpt ook om de WordPress API uptime te behouden tijdens verkeerspieken. Als te veel clients tegelijkertijd verzoeken sturen, kan de database deze misschien niet verwerken, wat downtime veroorzaakt.<\/p><p class=\"wp-block-paragraph\">Er zijn verschillende WordPress caching oplossingen en plug-ins, waaronder <a href=\"https:\/\/wordpress.org\/plugins\/litespeed-cache\/\" target=\"_blank\" rel=\"noopener\"><strong>LiteSpeed<\/strong> <strong>Caching<\/strong><\/a> en <strong>W3 Total Cache.<\/strong><\/p><p class=\"wp-block-paragraph\"><strong>Minimaliseer verzoeken en code<\/strong><\/p><p class=\"wp-block-paragraph\">Om de prestaties van je applicatie en WordPress te verbeteren, gebruik je zo min mogelijk API-aanroepen. Je kunt ook gerelateerde verzoeken voor een specifieke taak bundelen en ze tegelijkertijd verzenden, zodat de heen-en-weer communicatie tot een minimum wordt beperkt.<\/p><p class=\"wp-block-paragraph\">Vermijd ook overbodige handelingen om je code effici&euml;nt en kort te houden. Dit minimaliseert niet alleen het gebruik van bronnen, maar helpt ook de onderhoudbaarheid en schaalbaarheid te verbeteren.<\/p><p class=\"wp-block-paragraph\"><strong>Houd alle software bijgewerkt<\/strong><\/p><p class=\"wp-block-paragraph\">Zorg ervoor dat je regelmatig je WordPress kernbestanden, plug-ins, thema&rsquo;s en andere software die je gebruikt op je website bijwerkt, zodat alles soepel blijft werken. Dit garandeert dat je de nieuwste functies krijgt, waardoor beide webservices naadloos integreren.<\/p><p class=\"wp-block-paragraph\">Door de nieuwste versies te gebruiken, worden ook de nieuwste beveiligingspatches en bugfixes toegepast om de bruikbaarheid te behouden. We raden je ook aan om je te abonneren op nieuwsbrieven en blogs over WordPress om op de hoogte te blijven van de nieuwste updates.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-conclusie\"><strong>Conclusie<\/strong><\/h2><p class=\"wp-block-paragraph\">WordPress REST API is een functie waarmee je CMS naadloos kan samenwerken met webservices van derden. Het wordt vaak gebruikt om applicaties te ontwikkelen met WordPress content of om een headless CMS te maken.<\/p><p class=\"wp-block-paragraph\">De REST API is standaard ingeschakeld in WordPress core, wat je kunt testen door een verzoek te sturen met cURL via WP-CLI. Om dit te doen, specificeer je de HTTP-methode en de route om toegang te krijgen tot een eindpunt dat fungeert als een functie die gegevens wijzigt.<\/p><p class=\"wp-block-paragraph\">Gebruik de GET-methode om gegevens zoals een WordPress-post op te halen naar je applicatie. Gebruik ondertussen de POST-opdracht om inhoud te pushen, PUT om een bestaande invoer te wijzigen en DELETE om een bron te verwijderen.<\/p><p class=\"wp-block-paragraph\">Als je deze functie gebruikt, zorg er dan voor dat je de juiste authenticatie toepast, zoals OAuth of Basic Auth. Houd je code ook beknopt en maak gebruik van caching om de WordPress REST API prestaties onder hoge belasting te behouden.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-wordpress-rest-api-faq\"><strong>WordPress REST API FAQ<\/strong><\/h2><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-694400c90ab23\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Wat zijn de voordelen van het gebruik van de WordPress REST API?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Met de JSON REST API kun je WordPress integreren met andere webservices. Het geeft directe toegang tot de gegevens en functies van het CMS zonder dat de gebruikers direct interactie hebben met het dashboard.&nbsp;<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-694400c90ab26\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Hoe haal ik gegevens op uit WordPress REST API?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Om gegevens op te halen uit WordPress REST API, schrijf je een code die een HTTP verzoek stuurt naar een eindpunt met de GET methode. Je kunt tools gebruiken die HTTP ondersteunen, zoals JavaScript&rsquo;s Fetch of cURL in WP-CLI. Vervolgens parseer je de JSON-gegevens volgens de programmeertaal van je applicatie.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-694400c90ab27\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Zijn er beperkingen bij het werken met de WordPress REST API?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Ja. Het maximum aantal berichten per pagina dat je kunt ophalen via de REST API is 100. Bovendien vereist het ophalen van content via de API meer rekenkracht dan een directe database query, wat tot prestatieproblemen kan leiden.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-694400c90ab28\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Wie zou de WordPress REST API moeten leren gebruiken?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Aspirant WordPress ontwikkelaars die een applicatie of webdienst willen bouwen die gebruik maakt van de CMS functionaliteit zouden REST API moeten leren. Het is ook essentieel voor gebruikers die een WordPress headless CMS willen ontwikkelen of hun content willen migreren naar een ander platform.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>WordPress REST API is een interface waarmee het content management systeem (CMS) gegevens kan uitwisselen met diensten van derden. Hiermee kun je content direct vanuit de database benaderen, wat resulteert in een naadloze integratie. REST API&rsquo;s worden onder andere gebruikt om een aangepaste toepassing te ontwikkelen die gebruik maakt van de gegevens of functionaliteit van [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/nl\/tutorials\/wordpress-rest-api\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":441,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"WordPress REST API Tutorial: Een beginnersgids","rank_math_description":"Deze WordPress REST API tutorial introduceert je in de basis van REST API en legt de stappen uit om het te gebruiken.","rank_math_focus_keyword":"wordpress rest api","footnotes":""},"categories":[117,116],"tags":[],"class_list":["post-1955","post","type-post","status-publish","format-standard","hentry","category-geavanceerd","category-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/wordpress-rest-api\/","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/guia-iniciante-api-rest-wordpress\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/api-rest-wordpress\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/guia-para-principiantes-api-rest-wordpress\/","default":0},{"locale":"de-DE","link":"https:\/\/www.hostinger.com\/de\/tutorials\/wordpress-rest-api-leitfaden\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/wordpress-rest-api\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/wordpress-rest-api\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/guia-principiantes-la-api-rest-wordpress\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/guia-principiantes-la-api-rest-wordpress\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/guia-principiantes-la-api-rest-wordpress\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/guia-iniciante-api-rest-wordpress\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/posts\/1955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/users\/441"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/comments?post=1955"}],"version-history":[{"count":9,"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/posts\/1955\/revisions"}],"predecessor-version":[{"id":5583,"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/posts\/1955\/revisions\/5583"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/media?parent=1955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/categories?post=1955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/nl\/tutorials\/wp-json\/wp\/v2\/tags?post=1955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}