WordPress-themaontwikkeling: Een gids om van nul uit je eigen thema te bouwen

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

Als je besluit om dieper in de wereld van WordPress te duiken en je eigen thema's te ontwikkelen, betekent dat je van een contentconsument verandert in een regelgever. Een thema is niet alleen het uiterlijk van een website, maar ook het hart van de functionaliteiten, de gebruikerservaring en de prestaties. Deze gids leidt je door het hele proces, van het opzetten van je omgeving tot het publiceren van je thema, zodat je de essentiële kennis hebt om een basistema voor WordPress te bouwen dat toch alle nodige functies bevat.

Developmentomgeving en infrastructuur

Voordat je de eerste regel code schrijft, heb je een geschikte ontwikkelomgeving nodig. Dit omvat een lokale serveromgeving (bijvoorbeeld XAMPP, MAMP of Local by Flywheel), een code-editor (zoals VS Code of PhpStorm) en een geïnstalleerde versie van WordPress voor het testen. Met lokale ontwikkeling kun je in een veilige omgeving experimenteren en fouten opsporen.

Een WordPress-thema is in feite een verzameling bestanden die op een specifieke locatie op een webserver worden opgeslagen./wp-content/themes/De map in de map. In deze map moeten twee essentiële bestanden zijn opgenomen:style.cssindex.phpDaarvan zijn erstyle.cssHet bevat niet alleen CSS-stijlen, maar wat nog belangrijker is, de commentaarblok bovenin, waarin de meta-informatie van het thema wordt gedefinieerd.

Aanbevolen leesmateriaal Van het begin tot de volle meesterheid: Een compleet handboek en praktische handleiding voor het ontwikkelen van WordPress-themes

Hieronder staat een zeer basisversie: style.css Head example:

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.
/*
Theme Name: My First Theme
Theme URI: https://example.com/my-first-theme
Author: Your Name
Author URI: https://example.com
Description: 这是一个用于学习WordPress主题开发的入门主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-first-theme
*/

Text DomainVoor internationaal gebruik is dit een belangrijke identificatiecode die bepaalt wanneer de vertaalmappen worden geladen.index.phpDit is het standaardtemplatebestand voor de inhoud van een pagina. Het fungeert als een “reservaat” voor alle pagina's waar geen specifiek template is opgegeven. In het begin kan dit bestand zeer simpel zijn, en bevat alleen de basis-HHTML-structuur en enkele WordPress-functies.

Core template files and hierarchy

WordPress gebruikt een systeem met template-lagen om te bepalen welke template-bestand wordt geladen voor een bepaalde pagina. Het begrijpen van deze laagstructuur is essentieel voor het ontwikkelen van thema's. Het systeem begint met de meest specifieke template en zoekt deze op. Als deze niet bestaat, gaat het steeds een niveau hoger terug, tot de juiste template wordt gevonden en gebruikt.index.php

Prioriteit van pagina templates

Op de pagina van een enkele blogpost zal WordPress op de volgende manier kijken:single-post-{slug}.phpsingle-post-{id}.phpsingle-post.phpsingle.phpEn ten slotte:singular.phpAls deze dingen allemaal niet bestaan, wordt dit alternatief gebruikt.index.phpDit betekent dat je een unieke template kunt maken voor een specifiek artikel.

Archivering en homepage-templates

Op de pagina met een lijst van artikelen, zoals de homepage van een blog, wordt de volgende volgorde gevolgd:front-page.phphome.phpEn dan komt…index.phpOp de pagina voor het ordenen en archiveren worden vervolgens zoekacties uitgevoerd.category-{slug}.phpcategory-{id}.phpcategory.phparchive.phpEn ten slotte terugkeren naar…index.phpDoor deze bestanden te maken, kun je het lay-out en de stijl van verschillende delen van de website precies controleren.

Aanbevolen leesmateriaal Wat is themaontwikkeling voor WordPress?

WordPress-themafuncties en cycli

De functionaliteit van het thema is in grote mate afhankelijk van de PHP-functies en “lopen” (loops) die WordPress biedt. Dit zijn de middelen die je HTML-templates verbinden met de inhoud uit de database.

Introduce de belangrijke componentenbestanden.

Een standaardvol thema wordt meestal gecreëerd door…functions.phpDeze bestand wordt gebruikt voor het centraliseren van beheerfuncties. Het wordt automatisch geladen wanneer een thema wordt ingesteld en wordt gebruikt om themaondersteuning toe te voegen, menu's en sidebar's te registreren, etc. Je kunt bijvoorbeeld de volgende code toevoegen om afbeeldingen van artikelen en menufuncties te activeren:

<?php
function my_theme_setup() {
    // 添加文章和页面支持特色图像
    add_theme_support('post-thumbnails');

// 注册一个导航菜单位置
    register_nav_menus( array(
        'primary' => __('主菜单', 'my-first-theme'),
    ) );
}
add_action('after_setup_theme', 'my_theme_setup');
?>

Het begrijpen en toepassen van een hoofdloop (main loop)

“Een loop” is een PHP-codestructuur in WordPress die wordt gebruikt om artikelen uit de database te halen en te weergeven. Het vormt de kern van alle inhoudsweergave. Een typische loopstructuur is als volgt:

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%
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <article>
        <h2><p><strong>Hallo wereld!</strong></p></h2>
        <div><?php the_content(); ?></div>
    </article>
<?php endwhile; else : ?>
    <p><?php _e('抱歉,没有找到任何文章。', 'my-first-theme'); ?></p>
<?php endif; ?>

Binnen een loop kun je gebruikmaken van dingen als…the_title()the_content()the_permalink()Je kunt gebruiken van template-taggen om artikeleninformatie weer te geven. Het begrijpen en correct gebruiken van cycli (lopen door een set gegevens) is de basis voor het weergeven van dynamische inhoud.

Stijl, scripts en internationalisatie van het thema

Moderne WordPress-themata moeten CSS en JavaScript op een modulaire en onderhoudsvriendelijke manier beheren en moeten multi-linguaal ondersteunen.

Stijlen en scripts veilig toevoegen

Verbind nooit rechtstreeks CSS- of JS-bestanden in een templatebestand. De juiste manier is om gebruik te maken van…wp_enqueue_style()wp_enqueue_script()De functie is beschikbaar.functions.phpRegistreren en wachten in de rij is nodig om de afhankelijkheden correct te bepalen en dubbele laden te voorkomen.

Aanbevolen leesmateriaal Van nul beginnen: de kernarchitectuur van WordPress-themabouw

function my_theme_scripts() {
    // 加载主题的主样式表
    wp_enqueue_style('my-theme-style', get_stylesheet_uri());

// 加载一个自定义的JavaScript文件
    wp_enqueue_script('my-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');

Thema-internationalisatie realiseren

Om zodat je thema door gebruikers wereldwijd gebruikt kan worden, moeten alle tekststrings die gericht zijn naar de gebruiker worden omgevormd met een vertaalfunctie. De meest gebruikelijke methode hiervoor is...()(gebruikt voor teruggegeven waarden) en_e()(Gebruikt voor directe weergave.) In de eerdere voorbeelden...('主菜单', 'my-first-theme')Deze functie is dus al gebruikt. Je moet deze functie vervolgens activeren of inzetten om hem te kunnen gebruiken.load_theme_textdomain()Een functie die de vertaalmappen laadt en tools als Poedit gebruikt om de vertalingen te genereren..po.moHet document.

Samenvatting

Het ontwikkelen van WordPress-themes is een geleidelijk proces dat van de structuur tot de details loopt. Je begint met het creeren van het meest basistische…style.cssindex.phpBegin met het stap voor stap begrijpen van de structuur van de templates, en maak speciale templatebestanden voor de kernpagina’s.functions.phpVerbind verschillende functies met elkaar en beheer de “cykels” om dynamisch inhoud te genereren. Volg ten slotte de beste praktijken bij het beheer van stijlscripten en bereid je voor op internationalisering. Dit proces geeft je de volledige controle over het uiterlijk en de functionaliteit van je website, en is een belangrijke mijlpaal op weg om een WordPress-developer te worden.

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.

Veelgestelde vragen (FAQ)

Is het vereist om PHP te beheersen om thema's voor ontwikkeling te kunnen maken?

Ja, PHP vormt de basis voor het ontwikkelen van WordPress-themes. Hoewel je met page builders of sub-themes enkele aanpassingen kunt maken, is een diepere kennis van PHP essentieel om echt van scratch een functioneel, efficiënt en standaardconform thema te bouwen. Je moet PHP gebruiken om logica te verwerken, WordPress-functies op te roepen en met gegevens te werken.

Mag het bestand `style.css` leeg blijven?

Nee, dat is niet mogelijk. Hoewel de CSS-stijlsectie leeg mag zijn (waardoor het thema geen stijl meer heeft), is de commentaarblock aan het begin van het bestand vereist. WordPress gebruikt deze commentaarblock om je thema te herkennen. Als deze commentaarblock ontbreekt, werkt je thema niet zoals verwacht.Theme NameAls je gebruikmaakt van een commentaarblok met informatie als deze, zal je thema niet verschijnen in de lijst met thema's in het menu “Uiterlijk” -> “Themata” in de backend.

Hoe maak je een aangepaste template voor een specifieke pagina?

Je kunt dit doen door een PHP-bestand te maken dat begint met een bepaald prefix. Als je bijvoorbeeld een template wilt maken met de naam “volledig breed scherm”, maak je een nieuw bestand met de extensie .php.template-fullwidth.phpVoeg bovenin het bestand een commentaar met de naam van het specifieke template toe. Op deze manier kun je het template tijdens het bewerken van de pagina selecteren uit het drop-down-menu “Template” onder “Pagagegevens”.

<?php
/**
 * Template Name: 全宽页面
 */
?>

Hoe publiceer je een thema nadat het is ontwikkeld?

Voor persoonlijke gebruik: upload je de themafolder direct naar de server./wp-content/themes/Een goede inhoudsopgave is al voldoende. Als je je thema wilt indienen in de officiële WordPress-themakatalog, moet je ervoor zorgen dat je thema voldoet aan de strenge reviewcriteria van WordPress, waaronder codekwaliteit, veiligheid, internationaal gebruik en toegankelijkheid voor alle gebruikers. Daarna kun je je thema indienen via het indieningsysteem op de WordPress-website. In 2026 kunnen deze criteria nog strenger worden, dus het is aan te raden om altijd te ontwikkelen volgens de hoogste standaarden.