Van beginner tot expert: we leren je stap voor stap hoe je een gepersonaliseerd en krachtig WordPress-thema maakt.

2 minuten leestijd
2026-03-14
2026-06-03
2,441
Ik verdien commissies wanneer je via de onderstaande links winkelt, zonder dat dit extra kosten voor jou met zich meebrengt.

Het opzetten van een ontwikkelingsomgeving voor WordPress-thema's

Om je eigen WordPress-thema te maken, moet je eerst een efficiënte ontwikkelomgeving instellen. Hiermee kun je niet alleen veilig testen op lokale apparaten, maar het verhoogt ook je ontwikkelingsefficiëntie aanzienlijk.

Een typische ontwikkelomgeving bestaat uit lokale serversoftware, code-editors en versiebeheersystemen. Voor de lokale server kun je kiezen voor geïntegreerde tools zoals XAMPP, MAMP of Local by Flywheel, waarmee je met één klik Apache, MySQL en PHP kunt installeren. Wat betreft code-editors zijn Visual Studio Code, PhpStorm of Sublime Text uitstekende keuzes, omdat ze krachtige functies bieden voor code-aanvulling en debugging.

Als de omgeving klaar is, moet je dit doen in de installatiemap van WordPress.wp-content/themesMaak een nieuwe map in de map. Dit is je themamap. De naam van deze map wordt gebruikt als je thema-identificatie. Het wordt aanbevolen om hierbij kleine letters, cijfers en koppeltekens te gebruiken en geen spaties.

Aanbevolen leesmateriaal Hoe je vanaf nul een aangepast WordPress-thema ontwikkelt: een volledige handleiding

Het maken van een centraal document voor het thema.

Elk WordPress-thema moet twee kernbestanden bevatten:style.cssindex.phpstyle.cssDe bestanden bevatten niet alleen de stijl van het thema, maar de kopnotities van de bestanden zijn ook het “identiteitsbewijs” van het thema. WordPress gebruikt deze informatie om het thema te herkennen.

UltaHost WordPress-hosting
30-daagse garantie voor het terugbetalen van het geld, onbeperkt bandbreedte- en databestand, gratis DDoS-beveiliging, en een prijsvoordeel van 50% bij een aankoop van 3 jaar.

style.cssAan het begin van het document moet je een opmerkingenblok in de volgende indeling toevoegen:

/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme/
Author: 你的名字
Author URI: https://example.com/
Description: 这是一个用于学习的自定义WordPress主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-first-theme
*/

index.phpHet bestand is het standaard sjabloonbestand voor het onderwerp en is het uiteindelijke reserve-sjabloon voor alle paginaverzoeken. Een basisversie hiervan isindex.phpHet bestand kan alleen functies bevatten die de kop van de website, de hoofdcontent en de voettekst van de website oproepen.

<?php get_header(); ?>

<main id="main-content">
    <p> &lt;?php
    als er berichten zijn(:
        terwijl er berichten zijn(:
            the_post();
            // Toon de inhoud van het artikel
            the_title( &#039;<h2>', '</h2>' );
            the_content();
        endwhile;
    anders(:
        echo '<p>Er zijn geen berichten gevonden.</p>';
    endif;
    ?&gt;
</main>

Analys van de onderwerpstructuur en de hiërarchie van sjablonen.

Het begrijpen van de templatehiërarchie van WordPress is van cruciaal belang voor het ontwikkelen van thema's. WordPress selecteert automatisch het meest geschikte templatebestand om de inhoud weer te geven, afhankelijk van het type pagina dat wordt bezocht. Dit systeem zorgt voor een grote flexibiliteit en aanpasbaarheid.

Het begrijpen van de volgorde waarin sjablonen worden geladen.

Wanneer een gebruiker je website bezoekt, zoekt WordPress volgens bepaalde regels naar sjabloonbestanden. Als je bijvoorbeeld een afzonderlijk artikel bezoekt, zoekt WordPress achtereenvolgens naar:single-post-{slug}.phpsingle-post-{id}.phpsingle.phpEn tot slotsingular.phpindex.phpVoor de pagina wordt gezocht naarpage-{slug}.phppage-{id}.phppage.phpEn dan pas...singular.php

Aanbevolen leesmateriaal Een gedetailleerde uitleg van WordPress-themaontwikkeling: een complete gids van beginner tot expert.

Deze hiërarchische structuur betekent dat je voor specifieke categorieën, pagina's of zelfs afzonderlijke artikelen unieke sjablonen kunt maken, zolang als je je aan de naamgevingsconventies houdt. Als je deze regel beheerst, heb je volledige controle over de weergave van elk onderdeel van je website.

Maak een bestand met veelgebruikte sjablonen.

Naast...index.phpEen volledig functioneel thema bevat normaal gesproken een reeks standaard sjabloonbestanden.header.phpHet bestand definieert alles in de kop van de website, inclusief de DOCTYPE-verklaring.Navigatiemenu's voor gebieden en kopteksten, etc. Je kunt hierbij gebruikmaken vanwp_head()De functie zorgt ervoor dat WordPress en plug-ins hier de benodigde code invoegen (zoals CSS en JS).

footer.phpDe bestanden bevatten de voettekstinformatie van de website, zoals auteursrechtsverklaringen en widgetgebieden, en worden gebruikt omwp_footer()Functie.functions.phpHet bestand is het “functionele centrum” van het thema, waar je functies kunt toevoegen, menu's kunt registreren, sidebars kunt invoegen en CSS- en JavaScript-bestanden kunt importeren zonder de kernbestanden te wijzigen.

hosting.com gedeelde hosting
Hoge prestaties met AMD EPYC CPU's, NVMe SSD opslag en LiteSpeed, 24/7 deskundige interne ondersteuning, geavanceerde beveiligingsmaatregelen waaronder SSL, bescherming tegen brute kracht, malware en DDoS, besparingen tot 73%

De zijbalk wordt meestal gedefinieerd insidebar.phpDe samenvatting of volledige weergave van de artikelinhoud kan worden gedaan door een pagina te maken.content.phpcontent-single.phpDeze sjabloondeelten kunnen modulair worden verwerkt, wat helpt om de code eenvoudig en herbruikbaar te houden.

Voeg de kernfunctionaliteit toe aan je thema.

Een goed thema heeft niet alleen een mooie interface, maar moet ook worden ondersteund door krachtige functionaliteiten. Met behulp van de standaardfuncties en hooks van WordPress kun je kernfuncties, zoals navigatiemenu's, widgetgebieden en schermafbeeldingen, aan je thema toevoegen.

Het registratie-menu en de widget-zone

functions.phpIn het document kun je gebruikmaken vanregister_nav_menus()Gebruik functies om de menu-onderdelen te registreren die door het thema worden ondersteund. Registreer bijvoorbeeld een “hoofdmenu” en een “voettekstmenu”:

Aanbevolen leesmateriaal Een introductie tot het ontwikkelen van WordPress-thema's: maak je eerste thema vanaf nul.

function my_theme_setup() {
    register_nav_menus( array(
        'primary' => __( '主菜单', 'my-first-theme' ),
        'footer'  => __( '页脚菜单', 'my-first-theme' ),
    ) );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

Na de registratie kunnen gebruikers menu's aan deze locaties toewijzen in “Uiterlijk” -> “Menu” in het WordPress-dashboard. In sjabloonbestanden (zoals ) wordt dit ook weergegeven.header.phpIn dit voorbeeld wordt gebruikgemaakt vanwp_nav_menu()Een functie om het menu weer te geven.

Op dezelfde manier gebruiken weregister_sidebar()Functies kunnen widgetgebieden (of “zijbalken”) maken. Je kunt voor verschillende posities, zoals de zijbalk van een blog of de voettekst, widgetgebieden registreren, zodat gebruikers hier eenvoudig widgets aan kunnen toevoegen, zoals tekst, een inhoudsopgave of de nieuwste artikelen.

InterServer gedeelde hosting
Shared hosting $2.50 USD per maand, eerste maand $0.1 USD promo code tryinterserver, 461 cloud apps scripts, een klik te installeren.

Het inschakelen van de thema-functie en het toevoegen van stijlscripts.

De WordPress vanafter_setup_themeHoeken zijn de ideale plek om de thematische functies te activeren. Hier kunt u gebruikmaken vanadd_theme_support()Met behulp van functies kun je de ondersteunde functionaliteiten van het thema declareren, zoals “artikelminiaturen” (met kenmerkende afbeeldingen), “aangepaste logo's”, ondersteuning voor HTML5-formulieren en zoekformulieren, en “automatische feedlinks”.

Het is de beste manier om de prestaties en compatibiliteit van een thema te garanderen door CSS- en JavaScript-bestanden op de juiste manier toe te voegen aan de wachtrij. Je moet hiervoor de volgende stappen uitvoeren:wp_enqueue_style()wp_enqueue_script()Functies en het koppelen van deze oproepen aanwp_enqueue_scriptsOp de haak. Op deze manier kan WordPress afhankelijkheden beheren, dubbele belasting voorkomen en het eenvoudig maken voor subthema's om overlappingen te voorkomen.

function my_theme_scripts() {
    // 加载主样式表
    wp_enqueue_style( 'my-theme-style', get_stylesheet_uri() );
    // 加载主JavaScript文件
    wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/main.js', array('jquery'), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

Het optimaliseren van de prestaties en het internationaliseren van het thema.

Tegen het einde van de ontwikkeling zijn prestatie-optimalisatie en internationalisering cruciale stappen om het thema op professioneel niveau te brengen. Een snel, meertalig thema bereikt een breder publiek en zorgt voor een betere gebruikerservaring.

Strategieën voor het optimaliseren van de prestaties van de front-end.

De prestaties van het thema hebben een rechtstreekse impact op de laadtijd van de website en de positie in de zoekmachines. Het optimaliseren van afbeeldingen, het gebruik van asynchrone en uitgestelde JavaScript-lading en het verminderen van HTTP-verzoeken zijn veelgebruikte technieken. Op het niveau van het thema kun je dit optimaliseren met behulp van scriptlaadstrategieën.

Bij de bovengenoemde toepassingenwp_enqueue_script()Wanneer je een functie aanroept, stel je de laatste parameter in optrueJe kunt het script laden voordat de tags aan de onderkant van de pagina worden weergegeven, zodat de weergave van de pagina niet wordt geblokkeerd. Voor niet-kritieke scripts, zoals bepaalde analysecodes of sociale deelknoppen, kun je overwegen om de asynchrone laadeigenschappen te gebruiken.

Zorg er bovendien voor dat je CSS-bestanden gestroomlijnd en samengevoegd zijn en verwijder ongebruikte stijlen. Houd de code tijdens het ontwikkelingsproces netjes en voorkom dat er te veel inline stijlen of scripts in de HTML worden opgenomen.

Zorg ervoor dat het onderwerp meerdere talen ondersteunt.

Internationaal (i18n) betekent dat je je thema in een gemakkelijk te vertalen indeling maakt. WordPress maakt hier gebruik van.__()_e()Dit wordt gedaan met behulp van functies als translate(). Je moet alle gebruikersgerichte strings met deze functies omringen en een tekstdomein (Text Domain) opgeven, dat over het algemeen dezelfde naam heeft als de themacatalogus en dat al is gedefinieerd instyle.cssDe kopverklaring.

Bijvoorbeeld:echo __( ‘阅读更多’, ‘my-first-theme’ );De vertaler kan een account maken op het platform van Google Translate en zich aanmelden met zijn of haar Google-account..po.moVoor het vertalen van documenten hoeven gebruikers alleen het bijbehorende taalpakket te installeren en het thema-interface zal vervolgens de taal wijzigen.

Tegelijkertijd gebruiken weget_template_directory_uri()In plaats van het hardcoderen van URL's om referenties te maken naar bronnen in het thema (zoals afbeeldingen, CSS, JS), zorgt dit ervoor dat het thema ook in subthema's correct werkt.

Samenvatting

Het maken van een aangepast WordPress-thema is een systematisch proces. Dit omvat het opzetten van een lokale ontwikkelomgeving, het begrijpen van de hiërarchie van sjablonen, het toevoegen van kernfunctionaliteiten en het uitvoeren van uiteindelijke optimalisaties voor prestaties en internationalisering. Door de coderingstandaarden en best practices van WordPress te volgen, kun je niet alleen een unieke website bouwen, maar je zorgt ook voor stabiliteit, hoge prestaties en onderhoudbaarheid. De sleutel is om op een modulaire manier te denken en functies te verdelen over verschillende sjabloonbestanden.functions.phpIn dit artikel maken we gebruik van het krachtige hooksysteem en de functiebibliotheek van WordPress. Vergeet niet dat een goed thema een perfecte combinatie is van functionaliteit, ontwerp en codekwaliteit.

Veelgestelde vragen (FAQ)

Welke programmeertalen moet je beheersen om WordPress-thema's te ontwikkelen?

Om WordPress-thema's te ontwikkelen, moet je vooral PHP, HTML, CSS en JavaScript beheersen. PHP wordt gebruikt voor de serverlogica en om de kernfuncties van WordPress aan te roepen; HTML zorgt voor de structuur van de pagina; CSS wordt gebruikt voor het ontwerp en de lay-out; en JavaScript zorgt voor interactieve effecten en dynamische functies aan de voorkant.

Hoe voeg ik een aangepaste instellingspagina toe aan mijn thema?

Je kunt de WordPress-instellingen-API gebruiken om professionele aangepaste instellingspagina's voor je thema te maken. Hierbij wordt gebruikgemaakt vanadd_menu_page()add_submenu_page()Voeg de functiepagina toe en gebruik deze vervolgens.register_setting()add_settings_section()add_settings_field()Gebruik functies als add_setting, add_section en add_field om instellingen, gebieden en velden te registreren. Een geavanceerdere en handigere methode is om aangepaste frameworks als Kirki te gebruiken om snel een mooi optiepaneel te maken.

Welke voordelen heeft het om subthema's te maken? Hoe maak je ze?

Het belangrijkste voordeel van het maken van een subthema is dat je de functionaliteit en de stijl van het hoofdthema kunt aanpassen, toevoegen of overschrijven zonder de broncode van het hoofdthema te wijzigen. Dit zorgt ervoor dat je aangepaste wijzigingen niet worden overschreven wanneer het hoofdthema wordt bijgewerkt, wat de veiligheid en het onderhoud aanzienlijk verbetert. Het maken van een subthema is vrij eenvoudig: je hoeft alleen maarwp-content/themesMaak een nieuwe map in de directory en maak hierin een bestand met specifieke kopinformatie.style.cssDe documenten, via@importwp_enqueue_styleIntroduceer de stijl van het ouderthema en je kunt vervolgens het sjabloon van het ouderthema overschrijven door een sjabloonbestand met dezelfde naam te maken.

Waarom zie ik geen veranderingen in de front-end als ik mijn thema heb aangepast?

Dit wordt meestal veroorzaakt door de browsercache of het cachingmechanisme van WordPress. Probeer eerst een geforceerde vernieuwing in de browser uit te voeren (meestal Ctrl+F5 of Cmd+Shift+R). Als het probleem aanhoudt, controleer je of je de bestanden correct hebt opgeslagen en dat je de bestanden van het actieve thema bewerkt. Als je server of cachingplug-ins worden gebruikt, moet je mogelijk de servercache of plug-incache wissen om de nieuwste wijzigingen te bekijken. Tijdens het ontwikkelingsproces wordt aanbevolen om cachingplug-ins tijdelijk uit te schakelen.