Volledig handboek voor het ontwikkelen van WordPress plugins: van nul tot een aangepaste functie bouwen

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

Forbereidende werkzaamheden en opzet van de omgeving

Voordat je met het schrijven van code begint, is een stabiele en professionele ontwikkelomgeving de basis voor succes. Dit zal niet alleen je codeeringsefficiëntie verbeteren, maar ook de compatibiliteit van je plugins met verschillende omgevingen garanderen.

Configuratie van het lokale ontwikkelingsmilieu

Het wordt aanbevolen om een lokale serveromgeving te gebruiken, bijvoorbeeld Local by Flywheel, XAMPP of MAMP. Met deze tools kunnen Apache, MySQL en PHP in één stap worden geïnstalleerd, waardoor de online serveromgeving perfect wordt nagemaakt. Zorg ervoor dat je PHP-versie overeenkomt met de vereisten van het gewenste WordPress-versie; het wordt meestal aanbevolen om PHP 7.4 of een hogere versie te gebruiken voor betere prestaties en meer veiligheid.

Keuze van codeeditoren en tools

Een krachtige code-editor is van essentieel belang. Visual Studio Code, PhpStorm of Sublime Text zijn allemaal uitstekende keuzen; ze bieden ondersteuning voor syntaxis-highlighting, codevoorstellen en mogelijkheden voor het oplossen van fouten (debugging). Daarnaast is het installeren van het versiebeheeringsinstrument Git een standaard in de branche voor het beheersen van codeveranderingen, teamwerking en het maken van back-ups.

Aanbevolen leesmateriaal Ultimatumgids voor het ontwikkelen van WordPress-plug-ins: van het begin tot de volledige beheersing

Maak je eerste pluginbestand.

De belangrijkste component van een WordPress-plugin is zijn hoofdbestand. Dit bestand bevat niet alleen de uitvoeringscode van het plugin, maar bevat ook meta-informatie over het plugin, die wordt gemeld aan het WordPress-systeem via specifieke commentaren in het bestandskop.

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.

De structuur van het hoofdbestand van een plugin

Elk plugin moet een hoofd-PHP-bestand hebben. We noemen dit bestand meestal naar de functionaliteit van het plugin. my-first-plugin.phpDe opening van het bestand moet de standaard-pluginhead-commentaren bevatten; dit is essentieel voor WordPress om het plugin te herkennen.

<?php
/**
 * Plugin Name: 我的第一个自定义插件
 * Plugin URI:  https://example.com/my-first-plugin
 * Description: 这是一个用于演示的 WordPress 自定义插件。
 * Version:     1.0.0
 * Author:      你的名字
 * Author URI:  https://example.com
 * License:     GPL v2 or later
 * Text Domain: my-first-plugin
 */

Deze commentaar instrueert WordPress om op de achtergrondse “plugins”-pagina de namen, beschrijvingen en andere informatie van de plugins te weergeven. Text Domain Voor internationaal gebruik, om de vervolgende vertaalmogelijkheden voor te bereiden.

Activeren en deactiveren van plugins

Nadat je de hoofdbestand hebt gemaakt, moet je deze plaatsen in het installatieverwijfingspad van WordPress. /wp-content/plugins/ In de map. Ze kunnen apart worden geplaatst of er kan een speciale map voor worden gemaakt (bijvoorbeeld)... /wp-content/plugins/my-first-plugin/Vervolgens moet je de hoofdbestand hierin plaatsen. Nadat dit is gedaan, log je in in het WordPress-administratiepaneel en ga je naar de “Plugins”-pagina. Hier zie je de nieuwe plugin en kun je deze activeren door op “Activeren” te klikken.

De kernmechanismen van WordPress begrijpen: hooks en filters

De kracht en flexibiliteit van WordPress komt gedeeltelijk van het systeem met “hooks”. Plugins kunnen worden geïnstalleerd op deze hooks, waardoor het gedrag van WordPress kan worden veranderd of uitgebreid zonder dat de kerncode hoeft te worden gewijzigd.

Aanbevolen leesmateriaal Diepere analyse van het ontwikkelen van WordPress-plug-ins: van nul beginnen met het bouwen van aangepaste functies en uitbreidingen

Het gebruik van action-hooks

Action Hooks bieden je de mogelijkheid om zelfgemaakte code op bepaalde momenten uit te voeren. Denk hierbij aan het publiceren van een artikel, wanneer een gebruiker inlogt of wanneer een beheerpagina in de backend wordt geladen. add_action() Deze functie kan je eigen functie monteren op een specifiek gekozen ‘hook’.

Het volgende voorbeeld laat zien hoe je een persoonlijke tekstregel kunt toevoegen aan de onderste helft van de frontpage van een website. We gebruiken... wp_footer Deze action-hook.

function myplugin_add_footer_text() {
    echo '<p style="text-align:center;">Fijn dat je deze website gebruikt!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' );

Het gebruik van filters

Filters worden gebruikt om gegevens die worden gecreëerd tijdens een proces te bewerken. In tegenstelling tot acties (actions) moeten filters een invoerwaarde ontvangen en een gewijzigde waarde teruggeven. add_filter() Een functie die wordt gebruikt om filters toe te passen.

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%

Als voorbeeld: De onderstaande code wijzigt de weergave aan het eind van de artikeltitels en voegt een suffix toe aan alle titels. We gebruiken... the_title Deze filter.

function myplugin_modify_title( $title ) {
    // 确保只在主循环中修改
    if ( is_single() ) {
        return $title . ' [推荐阅读]';
    }
    return $title;
}
add_filter( 'the_title', 'myplugin_modify_title' );

Een instellingenpagina toevoegen voor de plugin

Een volwassen plugin moet meestal configuratieopties bieden voor de gebruiker. In WordPress zijn er standaardmethoden om een instellingenpagina voor een plugin te creeren, die kunnen worden toegevoegd aan verschillende plaatsen in het administratieve menu.

Create management menu items.

Allereerst moet je gebruikmaken van... add_action( ‘admin_menu’, … ) Je kunt een nieuw menu-pagina registreren met behulp van speciale functies in WordPress. WordPress biedt verschillende functies aan om menu’s op verschillende niveaus toe te voegen. add_menu_page()(Topmenu) of add_options_page()(Toevoegen aan het submenu “Instellingen”).

Aanbevolen leesmateriaal Volledig handboek voor het ontwikkelen van WordPress plugins: van het begin tot het maken van functionele plugins

De onderstaande code demonstreert hoe je een eenvoudige topmenu-pagina kunt maken. Function myplugin_settings_page_html Verantwoordelijk voor het renderen van de HTML-content van deze pagina.

function myplugin_add_menu() {
    add_menu_page(
        ‘我的插件设置’,          // 页面标题
        ‘我的插件’,             // 菜单标题
        ‘manage_options’,      // 所需权限
        ‘myplugin’,            // 菜单 Slug
        ‘myplugin_settings_page_html’, // 回调函数
        ‘dashicons-admin-generic’, // 图标(可选)
        20                     // 位置(可选)
    );
}
add_action( ‘admin_menu’, ‘myplugin_add_menu’ );

function myplugin_settings_page_html() {
    // 检查用户权限
    if ( ! current_user_can( ‘manage_options’ ) ) {
        return;
    }
    ?&gt;
    <div class="“wrap”">
        <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
        <form action="/nl/“options.php”/" method="“post”" data-trp-original-action="“options.php”">
            <?php
            // 输出设置字段
            settings_fields( ‘myplugin_options’ );
            do_settings_sections( ‘myplugin’ );
            submit_button( ‘保存设置’ );
            ?>
        <input type="hidden" name="trp-form-language" value="nl"/></form>
    </div>
    &lt;?php
}

Registratie-instellingen, velden en secties

Om de bovenstaande formulier te kunnen gebruiken voor het opslaan van gegevens, moet je de WordPress Settings API gebruiken. Dit houdt in dat je… register_setting() Registreer een instellingengroep en gebruik deze… add_settings_section() Voeg een sectie toe, en gebruik deze om… add_settings_field() Vul de specifieke velden in.

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.

Deze procedure vindt meestal plaats in... admin_init Alles is klaar in de hook. Het instellen van de API verzorgt automatisch de verificatie van de gegevens en het opslaan ervan. wp_options De integratie van beveiligingse maatregelen (zoals Nonce-controles) met de ontwikkelingsproces heeft de ontwikkelingswerkzaamheden aanzienlijk vereenvoudigd.

Samenvatting

Het ontwikkelen van WordPress-plug-ins is een systeematische procedure: je begint met het opzetten van een omgeving en het maken van basisbestanden, gaat vervolgens dieper in op het hook-systeem en bouwt ten slotte een gebruikersinterface voor het plug-in op. Het naleven van de WordPress-编码standaarden en -best practices (zoals het gebruiken van commentaren in de plug-inheader, veilige functionaaprefixen, internationalisatie en het instellen van APIs) zorgt niet alleen voor een stabiele werking van het plug-in, maar maakt het ook gemakkelijk te onderhouden en uit te breiden. Het belangrijkste is om het uitgebreide hook-ecosysteem van WordPress te gebruiken om de functionaliteit van je website op een modulaire en niet-invasieve manier te verbeteren. Door de praktische tips in deze gids hebt je de basisbegrijpen om vanaf nul een compleet en goed georganiseerd custom plug-in te bouwen.

Veelgestelde vragen (FAQ)

Welke programmeerkennis is vereist om plugins te ontwikkelen?

Je moet een solide basis in PHP hebben, omdat het core van WordPress en zijn plugins voornamelijk in PHP zijn geschreven. Daarnaast is een basiskennis van HTML, CSS en JavaScript (met name jQuery, aangezien veel oude codes in WordPress nog steeds jQuery gebruiken) nodig om met de front-end-weergave en interactie te kunnen werken. Het is ook handig om de basisconcepten van MySQL-databases te begrijpen.

Hoe voorkom je dat de namen van plugin-functies conflicteren met die van andere plugins?

De beste praktijk om conflicten te voorkomen, is om alle functies, klassen, constanten en variabelen unieke prefixen te geven. Het prefix moet voldoende uniek zijn en is meestal afgeleid van de naam of afkorting van je plugin. Als je bijvoorbeeld een plugin hebt genaamd “Awesome Widget”, kun je bijvoorbeeld prefixen gebruiken als ‘aww’ of ‘aww_’. aw_awesome_widget_AW_ 作为前缀。将代码封装在类(Class)中也是现代 WordPress 插件开发中广泛采用的、更优雅的避免冲突和组织代码的方式。

In welke map moeten de plugins worden opgeslagen?

De pluginbestanden moeten worden opgeslagen in de installatiemap van WordPress. /wp-content/plugins/ Binnen de map. Voor eenvoudige plugins met maar één bestand, kun je het hoofd-PHP-bestand direct in deze map plaatsen. Voor complexere plugins wordt het sterk aanbevolen om een aparte submap te maken met de naam van de plugin (bijvoorbeeld)... /wp-content/plugins/my-awesome-plugin/Verder worden alle plugin-bestanden (PHP, CSS, JS, afbeeldingen, etc.) georganiseerd in deze submap. Dit zorgt voor een overzichtelijke en ordelijke bestandsbeheer.

Hoe voeg je vertaalsupport toe aan een plugin?

Om internationalisatie (i18n) ondersteuning te toevoegen aan een plugin, zijn de volgende stappen belangrijk: Allereerst moet de internationalisatie-instellingen correct worden ingesteld in de commentaren bovenin het plugin-bestand. Text DomainEn gebruik in je code de vertaalfuncties van WordPress, zoals… ()_e()esc_html() Wacht tot alle strings die moeten worden vertaald zijn opgeslagen in een speciale map. Vervolgens kun je tools gebruiken zoals Poedit om deze strings te extraheren en een vertaalmap te genereren. .pot Templatebestanden, waarna de corresponderende vertalingen in die taal worden gemaakt. .po.mo Ten slotte wordt dit gebruikt tijdens het initialiseren van het plugin. load_plugin_textdomain() Een functie om de vertalingen te laden.