{"id":59949,"date":"2024-07-19T15:02:51","date_gmt":"2024-07-19T13:02:51","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=59949&#038;preview=true&#038;preview_id=59949"},"modified":"2024-07-24T09:30:49","modified_gmt":"2024-07-24T07:30:49","slug":"wordpress-htmx","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/","title":{"rendered":"Zo boost je je WordPress site met HTMX: verbeter het platform zonder complexe frameworks"},"content":{"rendered":"<p>Hoewel er veel talen zijn om mee te coderen, is webontwikkeling zich momenteel aan het focussen rond een een paar betrouwbare technologie\u00ebn. En dit geldt ook zeker voor WordPress.<\/p>\n<p>JavaScript is nog aan het rijpen voor het platform, maar bezoekers verwachten nog altijd dynamische en interactieve websites. Frameworks kunnen die kloof overbruggen, maar de complexiteit van sommige populaire frameworks kan je ontwikkeling in de weg staan. Maak kennis met HTMX! Deze lichtgewicht bibliotheek belooft gebruiksvriendelijkheid en vereenvoudiging bij het maken van moderne webervaringen.<\/p>\n<p>In dit artikel onderzoeken we hoe HTMX kan worden ge\u00efntegreerd in je eigen WordPress ontwikkelworkflow. Je leert hoe je deze krachtige en toegankelijke manier kunt gebruiken om dynamische content en interactiviteit te bouwen.<\/p>\n<p>We bespreken wat HTMX is, waarom het steeds populairder wordt en hoe het aansluit op WordPress. Je krijgt bovendien een praktische handleiding voor het integreren en gebruiken van HTMX met WordPress.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Wat HTMX is<\/h2>\n<figure id=\"attachment_182716\" aria-describedby=\"caption-attachment-182716\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182716 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/htmx-logo.png\" alt=\"Het HTMX-logo, dat bestaat uit de tekst \u201chtmx\u201d in witte letters, met haakjes aan weerszijden die HTML-tags voorstellen. De \u201cx\u201d in \u201chtmx\u201d is blauw gekleurd voor de nadruk. Onder de hoofdtekst staat een tagline met de tekst \u201ckrachtige tools voor HTML\u201d. Het logo is geplaatst tegen een donkere achtergrond, waardoor een opvallend contrast ontstaat.\" width=\"1200\" height=\"295\"><figcaption id=\"caption-attachment-182716\" class=\"wp-caption-text\">Het HTMX-logo.<\/figcaption><\/figure>\n<p>In een notendop is <a href=\"https:\/\/htmx.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">HTMX<\/a> een JavaScript bibliotheek die de standaard <a href=\"https:\/\/kinsta.com\/blog\/what-is-html\/\">HyperText Markup Language (HTML)<\/a> uitbreidt zonder dat je vanilla of framework <a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-javascript\/\">JavaScript<\/a> hoeft te schrijven. Met deze uitbreidingen heb je ook toegang tot andere technologie\u00ebn:<\/p>\n<ul>\n<li><strong>Asynchrone JavaScript en XML (AJAX).<\/strong> HTMX gebruikt AJAX om &#8216;async&#8217; verzoeken aan de server uit te voeren. Hierdoor kun je pagina&#8217;s gedeeltelijk bijwerken zonder dat je de pagina helemaal opnieuw hoeft te laden.<\/li>\n<li><strong>WebSockets.<\/strong> Je kunt WebSocket verbindingen tot stand brengen en realtime tweerichtingscommunicatie tussen de browser en de server mogelijk maken.<\/li>\n<li><strong>Server-sent events (SSE).<\/strong> Met deze technologie kan de server gegevens naar de browser pushen. Van daaruit kun je HTMX gebruiken om pagina-updates in realtime uit te voeren.<\/li>\n<li><strong>CSS transitions.<\/strong> Je kunt integreren met <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/CSS_transitions\/Using_CSS_transitions\" target=\"_blank\" rel=\"noopener noreferrer\">CSS transitions<\/a>, waarmee je vloeiende en geanimeerde updates op je site kunt implementeren.<\/li>\n<\/ul>\n<p>Het idee achter HTMX is om de manier waarop je dynamische, interactieve webapps maakt, te vereenvoudigen. De belangrijkste functionaliteit is hoe het <code>GET<\/code>, <code>POST<\/code>, <code>PUT<\/code>, <code>PATCH<\/code>, en <code>DELETE<\/code> <a href=\"https:\/\/kinsta.com\/nl\/blog\/javascript-http-verzoek\/\">HTTP-verzoeken<\/a> kan maken van HTML-elementen. Dit betekent dat je gelikte en vloeiende gedeeltelijke pagina-updates kunt verwerken zoals een mobiele app. Over het geheel genomen is HTMX een krachtige toolkit waarmee je een dynamische webervaring kunt cre\u00ebren zonder dat je massa&#8217;s JavaScript-code nodig hebt.<\/p>\n<h2>Waarom we het allemaal over HTMX hebben<\/h2>\n<p>Er is de laatste tijd veel te doen geweest over HTMX, en dan met name over het aantal zoekopdrachten naar deze bibliotheek die de <a href=\"https:\/\/trends.google.com\/trends\/explore?date=today%205-y&#038;q=htmx&#038;hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">afgelopen vijf jaar<\/a> explosief zijn gestegen.<\/p>\n<figure id=\"attachment_182718\" aria-describedby=\"caption-attachment-182718\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182718 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/htmx-trends.png\" alt=\"Een lijngrafiek die de interesse toont van juli 2019 tot januari 2024. De grafiek begint laag en relatief vlak tot halverwege 2022, laat dan een scherpe stijging zien gevolgd door schommelingen op een hoger niveau tot 2023 en begin 2024.\" width=\"1200\" height=\"376\"><figcaption id=\"caption-attachment-182718\" class=\"wp-caption-text\">De Google Trends grafiek toont een stijging in zoekopdrachten naar HTMX over een periode van vijf jaar.<\/figcaption><\/figure>\n<p>Deze populariteitsstijging is deels te danken aan de sociale media en de zichtbaarheid op ontwikkelaarsforums. HTMX heeft echter verschillende factoren die het een aantrekkelijke ontwikkeloptie maken.<\/p>\n<ul>\n<li><strong>Eenvoud.<\/strong> Omdat HTMX bekende HTML-syntaxis gebruikt om je te helpen dynamische, interactieve webapps te maken, is het super eenvoudig te implementeren en heeft het bijna niet de complexiteit van <a href=\"https:\/\/kinsta.com\/nl\/blog\/javascript-bibliotheken\/\">typische JavaScript frameworks<\/a>.<\/li>\n<li><strong>Prestaties.<\/strong> Door de hoeveelheid benodigde JavaScript te minimaliseren, kan HTMX <a href=\"https:\/\/htmx.org\/essays\/a-real-world-react-to-htmx-port\/\" target=\"_blank\" rel=\"noopener noreferrer\">snellere laadtijden<\/a> en betere prestaties leveren dan andere frameworks, vooral voor mobiele apparaten.<\/li>\n<li><strong>Rendering aan de serverkant.<\/strong> Server-side rendering is geweldig als je de eerste laadtijden van pagina&#8217;s en <a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-betekent-seo\/\">zoekmachineoptimalisatie (SEO)<\/a> wilt verbeteren. HTMX heeft dit ge\u00efntegreerd in zijn functieset.<\/li>\n<li><strong>Progressieve verbetering.<\/strong> Dit betekent het toevoegen van interactiviteit aan websites zonder de functionaliteit af te breken voor degenen die JavaScript uitschakelen. HTMX werkt volgens deze principes, dus er is een toegankelijkheidsvoordeel.<\/li>\n<\/ul>\n<p>Bovendien heeft HTMX, in tegenstelling tot sommige grotere frameworks, geen complex bouwproces of toolchain nodig. In combinatie met een veel lagere leercurve, is het integreren van de bibliotheek in je projecten eenvoudiger.<\/p>\n<p>Deze voordelen leiden op hun beurt weer tot meer discussie over HTMX en een grotere acceptatie ervan. Als je op zoek bent naar een eenvoudigere oplossing voor het maken van interactieve webervaringen, dan zou deze bibliotheek wel eens jouw keuze kunnen zijn.<\/p>\n<h2>WordPress&#8217; architectuur in relatie tot JavaScript<\/h2>\n<p>De geschiedenis van WordPress met JavaScript kwam in een stroomversnelling vanaf de <a href=\"https:\/\/wordpress.tv\/2015\/12\/07\/matt-mullenweg-state-of-the-word-2015\/\" target=\"_blank\" rel=\"noopener noreferrer\">State of the Word 2015<\/a>, toen Matt Mullenweg afsloot met de zin: &#8220;Leer JavaScript goed.&#8221;<\/p>\n<p>De typische route voor WordPress developers was om flink te investeren in interactieve en dynamische onderdelen op een website. In de meeste gevallen was <a href=\"https:\/\/kinsta.com\/nl\/blog\/jquery\/\">jQuery<\/a> het WordPress JavaScript framework. Zelfs de uberpopulaire <a href=\"https:\/\/news.harvard.edu\/gazette\/\" target=\"_blank\" rel=\"noopener noreferrer\">Harvard Gazette website<\/a> bouwt bovenop jQuery:<\/p>\n<figure id=\"attachment_182715\" aria-describedby=\"caption-attachment-182715\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182715 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/harvard-gazette.png\" alt=\"De startpagina van Harvard Gazette, met een grote heroafbeelding van een oudere vrouw en een zijbalk met actuele nieuwsartikelen, compleet met uitgelichte afbeeldingen.\" width=\"1200\" height=\"750\"><figcaption id=\"caption-attachment-182715\" class=\"wp-caption-text\">De Harvard Gazette website maakt gebruik van WordPress en jQuery.<\/figcaption><\/figure>\n<p>WordPress maakt daarom standaard <a href=\"https:\/\/kinsta.com\/nl\/blog\/wp-enqueue-scripts\/\">gebruik van jQuery<\/a>. Daarnaast worden veel kernfuncties, plugins en thema&#8217;s uitgebreid gebruikt. Deze aanpak is consistent en wordt breed ondersteund.<\/p>\n<figure id=\"attachment_182713\" aria-describedby=\"caption-attachment-182713\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182713 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/block-editor.png\" alt=\"De interface van de WordPress Blok-editor. Aan de linkerkant is een zijbalk met verschillende blokopties zoals Paragraaf, Kop, Lijst en Tabel. Het hoofdinhoudsgebied toont een tabelblok met versienummers en releasedata voor WordPress, samen met opties om media te uploaden of toegang te krijgen tot de mediabibliotheek. De interface heeft een strak, modern ontwerp met een witte achtergrond.\" width=\"1200\" height=\"635\"><figcaption id=\"caption-attachment-182713\" class=\"wp-caption-text\">Het tonen van de Blocks zijbalk in de WordPress Block Editor.<\/figcaption><\/figure>\n<p>Maar naarmate webontwikkeling zich ontwikkelde, ontwikkelde ook WordPress&#8217; benadering van JavaScript zich. De introductie van de <a href=\"https:\/\/kinsta.com\/nl\/blog\/gutenberg-wordpress-editor\/\">Block Editor<\/a> ging gepaard met een verschuiving naar het gebruik van het <a href=\"https:\/\/kinsta.com\/blog\/what-is-react-js\/\">React framework<\/a> voor het bouwen van gebruikersinterfaces, vooral binnen het WordPress dashboard.<\/p>\n<h3>De voor- en nadelen van de huidige JavaScript implementatie van WordPress<\/h3>\n<p>Dit betekent dat er een mix is van frameworks met ondersteuning in de code code van WordPress. Dit heeft een aantal plus- en minpunten. Eerst de positieve punten:<\/p>\n<ul>\n<li>Er is wijdverspreide compatibiliteit voor zowel React als jQuery. Het eerste is een krachtig en populair framework. Voor jQuery heeft het een langdurige associatie met WordPress.<\/li>\n<li>Veel developers zijn bekend met de frameworks omdat React en jQuery populair zijn. Bovendien kun je meer bronnen vinden om beide te leren en problemen op te lossen.<\/li>\n<li>WordPress biedt ingebouwde ondersteuning voor AJAX via <code>wp_ajax<\/code>.<\/li>\n<\/ul>\n<p>Deze voordelen gaan echter ook gepaard met een aantal nadelen:<\/p>\n<ul>\n<li><a href=\"https:\/\/make.wordpress.org\/themes\/2021\/10\/04\/the-performance-impact-of-using-jquery-in-wordpress-themes\/\" target=\"_blank\" rel=\"noopener noreferrer\">Gebruik van jQuery<\/a> geeft een aanslag op de prestaties van je site, en voor sommige toepassingen heb je het framework helemaal niet nodig.<\/li>\n<li>Niet alle &#8216;moderne&#8217; features en functionaliteit van JavaScript zijn ge\u00efmplementeerd in WordPress vanwege compatibiliteit en beveiliging. Dit kan een probleem zijn als je iets speciaals wilt bouwen.<\/li>\n<li>Met de toevoeging van React aan delen van WordPress (zoals de Block en Site Editors) heb je een nog grotere leercurve dan ooit tevoren.<\/li>\n<\/ul>\n<p>De huidige JavaScript architectuur van WordPress is geschikt als je de ontwikkelingskennis hebt van de aanbevolen frameworks of de tijd om ze te leren. Zo niet, dan wil je waarschijnlijk een oplossing die niet de complexiteit van de typische frameworks met zich meebrengt en toch een moderne interactieve ervaring aan de voorkant biedt. Dit is waar HTMX een overweging zou moeten zijn.<\/p>\n<h2>Waarom HTMX beter geschikt zou kunnen zijn voor sommige WordPress ontwikkelingstaken<\/h2>\n<p>HTMX biedt een paar overtuigende voordelen als het gaat om WordPress ontwikkeling. Het zou het midden kunnen houden tussen de eenvoud van jQuery en het moderne, krachtige React.<\/p>\n<p>Over sommige van deze aspecten hebben we het al gehad, maar laten we ze nog eens kort samenvatten:<\/p>\n<ul>\n<li>Het &#8216;gewicht&#8217; van HTMX kan een grote invloed hebben op de prestaties in vergelijking met jQuery en React.<\/li>\n<li>De meeste WordPress ontwikkelaars beschouwen zichzelf als het meest deskundig in HTML en PHP in plaats van JavaScript. HTMX vormt een gemakkelijkere toegangsdrempel als je ermee werkt, net als met een markup taal.<\/li>\n<li>PHP en HTMX werken ook goed samen dankzij de server-side rendering, wat weer een positief effect kan hebben op de prestaties.<\/li>\n<li>Ondanks dat het een &#8216;nieuwere&#8217; bibliotheek is, kun je HTMX met meer gemak integreren en snel leren hoe het werkt. Dit zal je workflow ten goede komen.<\/li>\n<\/ul>\n<p>Voor WordPress ontwikkeling zijn we ook blij met het gemak waarmee je een prototype kunt maken van nieuwe functionaliteit voor een site. Je kunt snel complexe nieuwe features bouwen door te coderen binnen de bestaande HTML. Van daaruit heb je de flexibiliteit om waar nodig React componenten of een beetje jQuery toe te voegen.<\/p>\n<p>De progressieve verbeteringsprincipes van HTMX spreken ook aan. Toegankelijkheid zou centraal moeten staan in je ontwerpstrategie, en met HTMX kun je interactiviteit bouwen zonder dat dit ten koste gaat van mensen die ervoor kiezen JavaScript uit te schakelen in de browser.<\/p>\n<p>Tot slot is een belangrijk voordeel van HTMX dat het geen custom of speciale server-side setup vereist. Je kunt je HTMX markup gebruiken met elke host &#8211; inclusief <a href=\"https:\/\/kinsta.com\/nl\/\">Kinsta<\/a>.<\/p>\n<figure id=\"attachment_182719\" aria-describedby=\"caption-attachment-182719\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182719 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/kinsta-website.png\" alt=\"De Kinsta startpagina met het MyKinsta dashboard. Het bevat basisgegevens zoals locatie (Belgi\u00eb) en sitenaam, omgevingsdetails met IP-adressen, SFTP\/SSH verbindingsinformatie en twee grafieken. E\u00e9n grafiek toont sitebezoeken in de loop van de tijd, en de andere toont de totale transactietijd uitgesplitst naar technologiecomponenten.\" width=\"1200\" height=\"704\"><figcaption id=\"caption-attachment-182719\" class=\"wp-caption-text\">De Kinsta startpagina met het MyKinsta dashboard.<\/figcaption><\/figure>\n<p>Gezien de kwaliteitsprestaties van onze hostingvoorzieningen, zou een site die HTMX gebruikt snel moeten zijn. Dit heeft invloed op je SEO prestaties, verkeersaantallen, ontwikkeltijd, workflow voor probleemoplossing en de hele ontwikkelingsketen.<\/p>\n<h2>Typische gebruikssituaties voor HTMX<\/h2>\n<p>We hadden het erover in de laatste paragraaf, maar HTMX zal geen bibliotheek zijn die je gebruikt als directe vervanging voor een van de meer bekende JavaScript frameworks. In plaats daarvan zal het het beste werken naast wat al bestaat om waar nodig te helpen de last te dragen.<\/p>\n<p>Dit betekent dat je HTMX zult gebruiken voor bepaalde taken waar jQuery en React niet optimaal voor zijn. Voordat we dieper ingaan op de implementatie van HTMX in WordPress, geven we drie veelvoorkomende scenario&#8217;s waarbij de bibliotheek WordPress zou kunnen verbeteren.<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"decimal\" selector=\"h3\" count-number=\"3\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<h3>Gedeeltelijke pagina herladen<\/h3>\n<p>De belangrijkste toepassing voor HTMX is hoe je gedeeltelijke paginaverversingen kunt implementeren met een minimum aan gedoe. Dit kan voor veel developers een groot voordeel zijn, vooral voor snelle mockups en prototypes. HTMX zou echter resultaten van productiekwaliteit kunnen leveren.<\/p>\n<p>Het kan je bijvoorbeeld helpen bij het implementeren van live zoekfunctionaliteit op je site:<\/p>\n<figure id=\"attachment_182721\" aria-describedby=\"caption-attachment-182721\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182721 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/live-search.gif\" alt=\"Een GIF van een dynamisch zoekvenster met HTMX met een donkere achtergrond. Het toont een tabel met contactpersonen met voornamen, achternamen en e-mailadressen voor meerdere personen. De tabel bevat 10 rijen met voorbeeldcontactinformatie.\" width=\"1200\" height=\"370\"><figcaption id=\"caption-attachment-182721\" class=\"wp-caption-text\">Een live, dynamische zoekinterface met HTMX.<\/figcaption><\/figure>\n<p>De <a href=\"https:\/\/htmx.org\/examples\/\" target=\"_blank\" rel=\"noopener noreferrer\">HTMX voorbeeldbibliotheek<\/a> gaat ook in op de methodologie voor het uitvoeren van realtime updates op andere inhoudsgebieden binnen de pagina. <a href=\"https:\/\/htmx.org\/examples\/update-other-content\/\" target=\"_blank\" rel=\"noopener noreferrer\">Hun voorbeeld<\/a> gebruikt bijvoorbeeld een contactformulier met een tabel met beschikbare contactpersonen die wordt vernieuwd zodra een gebruiker een nieuwe toevoeging indient. HTMX heeft een aantal elegante manieren om dit te bereiken:<\/p>\n<pre><code class=\"language-html\">&lt;div id=\"table-and-form\"&gt;\n    &lt;h2&gt;Contacts&lt;\/h2&gt;\n    &lt;table class=\"table\"&gt;\n      &lt;thead&gt;\n        &lt;tr&gt;\n          &lt;th&gt;Name&lt;\/th&gt;\n          &lt;th&gt;Email&lt;\/th&gt;\n          &lt;th&gt;&lt;\/th&gt;\n        &lt;\/tr&gt;\n      &lt;\/thead&gt;\n      &lt;tbody id=\"contacts-table\"&gt;\n\n        ...\n\n      &lt;\/tbody&gt;\n    &lt;\/table&gt;\n\n    &lt;h2&gt;Add A Contact&lt;\/h2&gt;\n\n    &lt;form hx-post=\"\/contacts\" hx-target=\"#table-and-form\"&gt;\n      &lt;label&gt;\n        Name\n            &lt;input name=\"name\" type=\"text\"&gt;  \n      &lt;\/label&gt;\n\n      &lt;label&gt;\n        Email\n            &lt;input name=\"email\" type=\"email\"&gt;  \n      &lt;\/label&gt;\n    &lt;\/form&gt;\n&lt;\/div&gt;\n<\/code><\/pre>\n<p>Het formulier gebruikt de attributen <code>hx-post<\/code> en <code>hx-target<\/code> om het doel uit te breiden. Je zou ook HTMX attributen kunnen gebruiken om <a href=\"https:\/\/htmx.org\/examples\/file-upload-input\/\" target=\"_blank\" rel=\"noopener noreferrer\">formulierinvoer te behouden<\/a> na een foutmelding of een andere validatiepoging waarbij verversen wordt gebruikt:<\/p>\n<pre><code class=\"language-html\">&lt;input form=\"binaryForm\" type=\"file\" name=\"binaryFile\"&gt;\n\n&lt;form method=\"POST\" id=\"binaryForm\" enctype=\"multipart\/form-data\" hx-swap=\"outerHTML\" hx-target=\"#binaryForm\"&gt;\n    &lt;button type=\"submit\"&gt;Submit&lt;\/button&gt;\n&lt;\/form&gt;\n<\/code><\/pre>\n<p>Hier plaats je de invoer voor het binaire bestand buiten het primaire formulierelement en gebruik je de attributen <code>hx-swap<\/code> en <code>hx-target<\/code>.<\/p>\n<h3>Dynamisch laden<\/h3>\n<p>Deze benadering van dynamisch verversen en laden kan ook geschikt zijn voor meer algemene taken. Neem bijvoorbeeld <a href=\"https:\/\/htmx.org\/examples\/infinite-scroll\/\" target=\"_blank\" rel=\"noopener noreferrer\">oneindig scrollen<\/a>:<\/p>\n<pre><code class=\"language-html\">&lt;tr hx-get=\"\/contacts\/?page=2\"\n    hx-trigger=\"revealed\"\n    hx-swap=\"afterend\"&gt;\n  &lt;td&gt;Agent Smith&lt;\/td&gt;\n  &lt;td&gt;void29@null.org&lt;\/td&gt;\n  &lt;td&gt;55F49448C0&lt;\/td&gt;\n&lt;\/tr&gt;\n<\/code><\/pre>\n<p>Het <code>hx-swap<\/code> attribuut fungeert als een &#8216;listener&#8217; voor het <code>hx-trigger<\/code> attribuut. Zodra een gebruiker het einde van de lijst bereikt, laadt HTMX oneindig de tweede pagina met contactpersonen in.<\/p>\n<p>Je zou dezelfde methode ook kunnen toepassen op de feature <a href=\"https:\/\/htmx.org\/examples\/lazy-load\/\" target=\"_blank\" rel=\"noopener noreferrer\">voor lazyloaden<\/a>:<\/p>\n<figure id=\"attachment_182720\" aria-describedby=\"caption-attachment-182720\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182720 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/lazy-loading-gif.gif\" alt=\"Een GIF van een webpagina met donkere achtergrond die lazy loading implementeert. De GIF begint met een kleine laadanimatie, waarna een grafiekafbeelding verschijnt terwijl de gebruiker naar beneden scrollt.\" width=\"1200\" height=\"282\"><figcaption id=\"caption-attachment-182720\" class=\"wp-caption-text\">HTMX gebruiken om lazyloaden te implementeren.<\/figcaption><\/figure>\n<p>Dit gebruikt opnieuw de attributen <code>hx-get<\/code> en <code>hx-trigger<\/code> om een htmx-settling transition te starten om de grafiek te laden met behulp van een langzame fade-in.<\/p>\n<h3>Presentatie van gegevens<\/h3>\n<p>Het zal geen verrassing zijn dat HTMX uitstekend geschikt is voor het presenteren van informatie op het scherm met behulp van interactieve of anderszins dynamische elementen.<\/p>\n<p>Je kunt bijvoorbeeld alle soorten inhoud filteren, zoals <a href=\"https:\/\/htmx.org\/examples\/value-select\/\" target=\"_blank\" rel=\"noopener noreferrer\">waardeselecties<\/a>. Hierbij worden de opties in een lijst ingevuld op basis van die in een andere lijst:<\/p>\n<figure id=\"attachment_182723\" aria-describedby=\"caption-attachment-182723\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-182723\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/value-select-gif.gif\" alt=\"A GIF of a \u200buser interface showing a drop-down menu for selecting a car make and model. The title says \"Pick A Make\/Model\" and the options visible are Audi (which is selected), Toyota, and BMW. The user cycles through each Make, which changes the options in the Model drop-down menu.\" width=\"1200\" height=\"374\"><figcaption id=\"caption-attachment-182723\" class=\"wp-caption-text\">HTMX gebruiken om waardeselecties toe te wijzen aan site-elementen.<\/figcaption><\/figure>\n<p>Je kunt zelfs met evenveel gemak <a href=\"https:\/\/htmx.org\/examples\/modal-bootstrap\/\" target=\"_blank\" rel=\"noopener noreferrer\">modale dialoogvensters<\/a> of interface-tabbladen instellen. Dit laat ook zien hoe HTMX werkt naast andere bibliotheken en frameworks, zoals Bootstrap:<\/p>\n<figure id=\"attachment_182722\" aria-describedby=\"caption-attachment-182722\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-182722\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/modal-box-gif.gif\" alt=\"A GIF of a light-themed web page section titled \"Demo\" with a link icon and a button titled \"OPEN MODAL\" in capital letters. Once the user clicks the button, this opens a modal box using HTMX.\" width=\"1200\" height=\"250\"><figcaption id=\"caption-attachment-182722\" class=\"wp-caption-text\">Een modaal dialoogvenster openen met HTMX.<\/figcaption><\/figure>\n<p>Deze flexibiliteit geldt ook voor het implementeren van tabbladen. Er zijn twee manieren om dit te doen: door <a href=\"https:\/\/htmx.org\/examples\/tabs-javascript\/\" target=\"_blank\" rel=\"noopener noreferrer\">vanilla JavaScript<\/a> en HTMX te combineren of door de principes van <a href=\"https:\/\/htmx.org\/examples\/tabs-hateoas\/\" target=\"_blank\" rel=\"noopener noreferrer\">Hypertext As The Engine Of Application State (HATEOAS)<\/a> te gebruiken:<\/p>\n<figure id=\"attachment_182714\" aria-describedby=\"caption-attachment-182714\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182714 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/content-tabs.gif\" alt=\"Een GIF van een HTMX interface met tabbladen met drie tabbladen: \u201cTabblad 1\u201d, \u201cTabblad 2\u201d en \u201cTabblad 3\u201d. De gebruiker bladert tussen de tabbladen, die verschillende paragrafen 'Lorem Ipsum'-tekst weergeven. De interface heeft een donkere achtergrond met witte tekst, waardoor het er strak en modern uitziet.\" width=\"1200\" height=\"208\"><figcaption id=\"caption-attachment-182714\" class=\"wp-caption-text\">Een GIF van een interface met tabbladen met HTMX.<\/figcaption><\/figure>\n<p>Er zijn nog veel meer manieren om HTMX te gebruiken voor front-end site-elementen met de kern aan de serverkant. In het volgende gedeelte geven we je de tools om je eigen visie binnen WordPress te cre\u00ebren.<\/p>\n<h2>Hoe HTMX integreren in WordPress<\/h2>\n<p>Als je HTMX wilt toevoegen aan je WordPress website, is het goede nieuws dat het snel en probleemloos gaat. We bekijken een aanpak die bestaat uit drie stappen. We behandelen niet het hele proces en de code om functionaliteit voor WordPress te ontwikkelen, maar we behandelen wel alle belangrijke punten die je moet volgen.<\/p>\n<p>Bovendien zou een groot deel van het proces, vooral de eerste stap, typerend moeten zijn als je al eerder voor WordPress hebt ontwikkeld.<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"decimal\" selector=\"h3\" count-number=\"3\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<h3>1. HTMX inschakelen in je PHP code<\/h3>\n<p>Zoals met alle extra scripts voor WordPress, moet je de HTMX bibliotheek opnemen in de code van je thema of plugin.<\/p>\n<pre><code class=\"language-php\">wp_enqueue_script('htmx-script', 'https:\/\/unpkg.com\/htmx.org@2.0.0\/dist\/htmx.min.js', array(), '2.0.0', true);\n<\/code><\/pre>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>De HTMX quickstart guide callt de bibliotheek via een Content Delivery Network (CDN). Je moet zelf beslissen of dit een goed idee is voor jouw project.<\/p>\n<\/aside>\n\n<figure id=\"attachment_182717\" aria-describedby=\"caption-attachment-182717\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182717 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/htmx-quick-start.png\" alt=\"A code snippet from the HTMX quick start guide. It displays a single line of HTML code that includes a script tag to load the HTMX library from an external source. The code is highlighted in orange to draw attention to it. Below the script tag is an example of an HTML button element using HTMX attributes. The code is displayed on a dark background with syntax highlighting.\" width=\"1200\" height=\"257\"><figcaption id=\"caption-attachment-182717\" class=\"wp-caption-text\">Zorg ervoor dat je de nieuwste versie van HTMX gebruikt en dat de quickstart guide de bibliotheek callt vanaf een CDN &#8211; wat misschien niet geschikt is voor jouw project.<\/figcaption><\/figure>\n<p>Een objectief goed idee is echter om de enqueue te wrappen in een functie die ook <a href=\"https:\/\/kinsta.com\/nl\/blog\/wordpress-blokpatronen\/\">een Block<\/a> in WordPress enqueet en <a href=\"https:\/\/kinsta.com\/nl\/blog\/wordpress-blokpatronen\/\">registreert<\/a>. Dit hangt er natuurlijk vanaf of je project vereist dat je met de Block Editor werkt.<\/p>\n<p>Het laatste onderdeel voor het enqueuen van HTMX is het callen van de hele functie met <code>add_action<\/code>. Je zult later terug moeten komen op het gebruik van <a href=\"https:\/\/kinsta.com\/nl\/blog\/wordpress-hooks\/\">hooks en filters<\/a> als je met AJAX requests werkt.<\/p>\n<h3>2. HTMX elementen toevoegen aan je WordPress templatebestanden<\/h3>\n<p>Uit onze use cases kun je opmaken dat HTMX de juiste opmaak in de HTML nodig heeft om AJAX verzoeken te verwerken en te triggeren. De bibliotheek gebruikt typische <a href=\"https:\/\/kinsta.com\/nl\/blog\/javascript-http-verzoek\/\">HTTP verzoek attributen<\/a> om zijn eigen attributen te maken &#8211; <code>GET<\/code>, <code>POST<\/code>, <code>PUSH<\/code>, <code>PATCH<\/code>, en <code>DELETE<\/code> &#8211; met een <code>hx-<\/code> prefix:<\/p>\n<pre><code class=\"language-html\">hx-post\n<\/code><\/pre>\n<p>WordPress&#8217; AJAX verzoeken gebruiken het <strong>admin-ajax.php<\/strong> endpoint, wat je moet onthouden! De typische elementen die je maakt met HTMX maken een AJAX verzoek, sturen het naar een doelelement en verwerken mogelijk een trigger.<\/p>\n<p>Met het <code>hx-target<\/code> attribuut kun je aangeven waar het resultaat van je verzoek naartoe gaat. Dit kan een andere pagina zijn, een specifieke <code>div<\/code>, of iets anders. Zie het als HTML anchor tags:<\/p>\n<pre><code class=\"language-html\">&lt;input type=\"search\"\n        name=\"search\" placeholder=\"Search...\"\n        hx-post=\"&lt;?php echo admin_url('admin-ajax.php'); ?&gt;?action=live_search\"\n        hx-target=\"#search-results\"\n        \u2026<\/code><\/pre>\n<p>HTMX gebruikt &#8220;natuurlijk&#8221; en &#8220;niet-natuurlijk&#8221; om een actie te defini\u00ebren. <code>submit<\/code> activeert bijvoorbeeld een formulier en dit is een natuurlijke element event. Voor niet-natuurlijke element events gebruik je het <code>hx-trigger<\/code> attribuut. <a href=\"https:\/\/htmx.org\/docs\/#triggers\" target=\"_blank\" rel=\"noopener noreferrer\">Deze triggers<\/a> kunnen een van de complexere onderdelen van HTMX zijn, maar zijn toch eenvoudig te begrijpen.<\/p>\n<p>Je kunt bijvoorbeeld een trigger gebruiken om een invoerveld te monitoren:<\/p>\n<pre><code class=\"language-html\">\u2026\nhx-post=\"&lt;?php echo admin_url('admin-ajax.php'); ?&gt;?action=live_search\"\nhx-target=\"#search-results\"\nhx-trigger=\"input changed delay:500ms, search\"\nhx-indicator=\".htmx-indicator\"&gt;\n\u2026<\/code><\/pre>\n<p>Het veranderen van wat er in een invoerveld staat, zal een update elders op de pagina triggeren. Een ander voorbeeld is dat je misschien eenmalig een gebeurtenis wilt triggeren op basis van een niet-typische actie, zoals het invoeren van de cursor in een deel van het scherm:<\/p>\n<pre><code class=\"language-html\">&lt;div hx-post=\"\/mouse_entered\" hx-trigger=\"mouseenter once\"&gt;\n    [Here Mouse, Mouse!]\n&lt;\/div&gt;\n<\/code><\/pre>\n<p>Dit kan je inspireren tot het maken van toepassingen zoals <a href=\"https:\/\/kinsta.com\/nl\/blog\/elementor-popup\/\">pop-ups<\/a> of andere modale vakken. Maar voordat je deze in actie kunt zien, moet je het AJAX-verzoek verwerken.<\/p>\n<h3>3. De AJAX verzoeken verwerken<\/h3>\n<p>Tot slot moet je het AJAX-verzoek aan de serverkant afhandelen. Voor WordPress is het handig om dit allemaal in een apart bestand op te slaan. Je kunt het noemen zoals je wilt, maar <strong>ajax-functions.php<\/strong> is beschrijvend en duidelijk genoeg.<\/p>\n<p>Dit deel van het gebruik van HTMX vereist dat je <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-tutorials\/\">je PHP vaardigheden<\/a> gebruikt. Het verwerken van je AJAX verzoeken is uniek voor jouw specifieke project. Hier koppel je de attributen die je noemt in je templatebestanden aan server-side verwerking.<\/p>\n<p>Natuurlijk doe je dit sowieso, of je nu codeert met HTMX, vanilla JavaScript of iets anders. Hier is wat pseudocode om te laten zien hoe dit eruit zou kunnen zien:<\/p>\n<pre><code class=\"language-html\">function my_search_action() {\n    $search_term = sanitize_text_field( $_POST['search'] );\n\n    $args = array(\n        's' =&gt; $search_term,\n        'post_type' =&gt; 'post',\n        'posts_per_page' =&gt; 5\n    );\n\n    $query = new WP_Query( $args );\n\n    if ( $query-&gt;have_posts() ) :\n        while ( $query-&gt;have_posts() ) : $query-&gt;the_post();\n            echo '&lt;h2&gt;' . get_the_title() . '&lt;\/h2&gt;';\n            echo '&lt;p&gt;' . get_the_excerpt() . '&lt;\/p&gt;';\n        endwhile;\n    else:\n        echo 'No results found.';\n    endif;\n\n    wp_reset_postdata();\n\n    wp_die();\n}\n<\/code><\/pre>\n<p>Desondanks is dit misschien niet relevant of lijkt het zelfs niet op de AJAX afhandeling van je eigen project. Dezelfde vaardigheden die je gebruikt voor het <a href=\"https:\/\/kinsta.com\/nl\/blog\/wordpress-blok-templates\/\">bouwen van Block templates<\/a>, <a href=\"https:\/\/kinsta.com\/nl\/blog\/wordpress-plugin-uitbeidbaar-maken\/\">het uitbreiden van plugins<\/a> met PHP en meer, helpen je bij het maken van je eigen AJAX request handlers en functies.<\/p>\n<h2>Tips voor het gebruik van HTMX met WordPress<\/h2>\n<p>Hoewel het gebruik van HTMX een van de eenvoudigste manieren is om dynamische inhoud met WordPress te implementeren, moet het nog steeds zorgvuldig worden beheerd en overwogen. Er zijn ook een paar manieren om je ontwikkelervaring te verbeteren.<\/p>\n<p>De eerste tip heeft te maken met de &#8216;volwassenheid&#8217; van HTMX. Op dit moment is het een nieuwe bibliotheek voor het platform, dus het heeft niet hetzelfde integratieniveau als bijvoorbeeld jQuery.<\/p>\n<p>HTMX heeft goede documentatie, maar er zijn niet zoveel bronnen voor het combineren van de bibliotheek met WordPress. Dit betekent dat je zelf het nodige werk moet verzetten om dingen te laten werken zonder het vangnet van een kant-en-klare community.<\/p>\n<p>Een van de belangrijkste adviezen die we kunnen geven is om je functionaliteit voorlopig <a href=\"https:\/\/kinsta.com\/blog\/publish-plugin-wordpress-plugin-directory\/\">in een plugin<\/a> te bouwen. Dit geeft je structuur en eenvoudiger beheer terwijl je controleert op bugs en andere integratiefouten.<\/p>\n<p>Nu we het toch over WordPress hebben, probeer te begrijpen hoe het<strong> admin-ajax.php <\/strong>bestand verbonden is met de rest van het ecosysteem, omdat veel interacties hiermee te maken hebben.<\/p>\n<figure id=\"attachment_182712\" aria-describedby=\"caption-attachment-182712\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182712 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/admin-ajax.png\" alt=\"Een code editor venster met PHP code voor een WordPress admin-ajax.php bestand. De code bevat commentaar en functies voor het laden van WordPress bootstrap code, het afhandelen van cross-domain verzoeken, het instellen van headers en het laden van WordPress administratie API's en Ajax handlers. De editor heeft een donker thema met lichtblauwe syntax highlighting.\" width=\"1200\" height=\"814\"><figcaption id=\"caption-attachment-182712\" class=\"wp-caption-text\">Het admin-ajax.php bestand in een code editor.<\/figcaption><\/figure>\n<p>Hoewel HTMX geweldige prestaties levert, moet je ervoor zorgen dat <a href=\"https:\/\/kinsta.com\/nl\/blog\/admin-ajax\/\">het AJAX gebruik<\/a> laag genoeg is om de laadsnelheid of SEO van je site niet te be\u00efnvloeden. Het debuggen van requests moet ook een vast onderdeel zijn van je workflow, vooral de <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/XMLHttpRequest\" target=\"_blank\" rel=\"noopener noreferrer\">XMLHttpRequest (XHR)<\/a> metriek binnen de devtools van je browser.<\/p>\n<figure id=\"attachment_182724\" aria-describedby=\"caption-attachment-182724\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-182724 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/07\/xhr-metrics.png\" alt=\"De DevTools interface van de Brave browser, met bovenaan de WordPress website. Deze bevat tekst die het beschrijft als \u201cHet open source publicatieplatform bij uitstek voor miljoenen websites wereldwijd\u201d en een video thumbnail over WordCamp Europe 2024. De ontwikkelaarsconsole toont XHR-aanvragen voor de site.\" width=\"1200\" height=\"630\"><figcaption id=\"caption-attachment-182724\" class=\"wp-caption-text\">De Fetch\/XHR verzoeken voor de WordPress.org website.<\/figcaption><\/figure>\n<p>Dit is de registratie van verzoek- en responsgegevens, die je zult gebruiken om AJAX-verzoeken en API-calls (Application Programming Interface) te debuggen. Gezien het feit dat HTMX nog geen hechte integratie heeft met WordPress, kan het debuggen een meer relevante taak zijn dan het zou zijn met andere JavaScript frameworks.<\/p>\n<h2>Samenvatting<\/h2>\n<p>Voor WordPress ontwikkelaars die dynamische, interactieve site-elementen willen maken zonder dat ingewikkelde JavaScript frameworks je tijd domineren, biedt <a href=\"https:\/\/htmx.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">HTMX<\/a> prachtige mogelijkheden. Het laat je bouwen binnen HTML en biedt een lean alternatief voor jQuery en React, terwijl het je toch moderne interactiviteit biedt.<\/p>\n<p>In de praktijk zul je HTMX naast die andere frameworks gebruiken, omdat het niet voor alle taken geschikt is. Desondanks is het eenvoudig te implementeren en biedt het je een snelle manier om een prototype te maken van de interactieve elementen van je site &#8211; en het zou zelfs je productieversie kunnen worden.<\/p>\n<p>Lijkt HTMX en WordPress jou een aantrekkelijke combinatie? Laat ons weten wat je ervan vindt in de comments hieronder!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoewel er veel talen zijn om mee te coderen, is webontwikkeling zich momenteel aan het focussen rond een een paar betrouwbare technologie\u00ebn. En dit geldt ook &#8230;<\/p>\n","protected":false},"author":199,"featured_media":59950,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[847,892],"class_list":["post-59949","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-javascript-frameworks","topic-wordpress-ontwikkeling"],"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>Zo boost je je WordPress site met HTMX - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"JavaScript frameworks kunnen complex zijn, wat niet ideaal is voor webdesign. Leer hoe de HTMX bibliotheek d\u00e9 manier kan zijn om JavaScript te implementeren!\" \/>\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\/wordpress-htmx\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zo boost je je WordPress site met HTMX: verbeter het platform zonder complexe frameworks\" \/>\n<meta property=\"og:description\" content=\"JavaScript frameworks kunnen complex zijn, wat niet ideaal is voor webdesign. Leer hoe de HTMX bibliotheek d\u00e9 manier kan zijn om JavaScript te implementeren!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/\" \/>\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-07-19T13:02:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-24T07:30:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.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=\"JavaScript frameworks kunnen complex zijn, wat niet ideaal is voor webdesign. Leer hoe de HTMX bibliotheek d\u00e9 manier kan zijn om JavaScript te implementeren!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx-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=\"17 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Zo boost je je WordPress site met HTMX: verbeter het platform zonder complexe frameworks\",\"datePublished\":\"2024-07-19T13:02:51+00:00\",\"dateModified\":\"2024-07-24T07:30:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/\"},\"wordCount\":3064,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/\",\"name\":\"Zo boost je je WordPress site met HTMX - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg\",\"datePublished\":\"2024-07-19T13:02:51+00:00\",\"dateModified\":\"2024-07-24T07:30:49+00:00\",\"description\":\"JavaScript frameworks kunnen complex zijn, wat niet ideaal is voor webdesign. Leer hoe de HTMX bibliotheek d\u00e9 manier kan zijn om JavaScript te implementeren!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WordPress ontwikkeling\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/wordpress-ontwikkeling\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Zo boost je je WordPress site met HTMX: verbeter het platform zonder complexe frameworks\"}]},{\"@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":"Zo boost je je WordPress site met HTMX - Kinsta\u00ae","description":"JavaScript frameworks kunnen complex zijn, wat niet ideaal is voor webdesign. Leer hoe de HTMX bibliotheek d\u00e9 manier kan zijn om JavaScript te implementeren!","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\/wordpress-htmx\/","og_locale":"nl_NL","og_type":"article","og_title":"Zo boost je je WordPress site met HTMX: verbeter het platform zonder complexe frameworks","og_description":"JavaScript frameworks kunnen complex zijn, wat niet ideaal is voor webdesign. Leer hoe de HTMX bibliotheek d\u00e9 manier kan zijn om JavaScript te implementeren!","og_url":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2024-07-19T13:02:51+00:00","article_modified_time":"2024-07-24T07:30:49+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"JavaScript frameworks kunnen complex zijn, wat niet ideaal is voor webdesign. Leer hoe de HTMX bibliotheek d\u00e9 manier kan zijn om JavaScript te implementeren!","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx-1024x512.jpg","twitter_creator":"@Kinsta_NL","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Jeremy Holcombe","Geschatte leestijd":"17 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Zo boost je je WordPress site met HTMX: verbeter het platform zonder complexe frameworks","datePublished":"2024-07-19T13:02:51+00:00","dateModified":"2024-07-24T07:30:49+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/"},"wordCount":3064,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/","url":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/","name":"Zo boost je je WordPress site met HTMX - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg","datePublished":"2024-07-19T13:02:51+00:00","dateModified":"2024-07-24T07:30:49+00:00","description":"JavaScript frameworks kunnen complex zijn, wat niet ideaal is voor webdesign. Leer hoe de HTMX bibliotheek d\u00e9 manier kan zijn om JavaScript te implementeren!","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/07\/supercharging-wordpress-with-htmx.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/wordpress-htmx\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"WordPress ontwikkeling","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/wordpress-ontwikkeling\/"},{"@type":"ListItem","position":3,"name":"Zo boost je je WordPress site met HTMX: verbeter het platform zonder complexe frameworks"}]},{"@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\/59949","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=59949"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/59949\/revisions"}],"predecessor-version":[{"id":59979,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/59949\/revisions\/59979"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/translations\/es"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/59949\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/59950"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=59949"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=59949"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=59949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}