Voordat we verder gaan met het maken van methoden, moeten we eerst begrijpen wat een subthema is. Een WordPress-subthema is een speciaal thema dat afhankelijk is van een ander thema (genaamd “moedertema”). Het erft alle functies, stijlen en templatebestanden van het moedertema, maar biedt u de mogelijkheid om deze veilig te bewerken, nieuwe functies toe te voegen of het ontwerp van het moedertema te aanpassen, zonder dat de kernbestanden van het moedertema worden beïnvloed.
De grote voordeel van deze methode is dat wanneer het overkoepelde thema (het ‘parent theme’) wordt bijgewerkt, de door u gemaakte aanpassingen in het onderthema (het ‘child theme’) niet worden overschreven. Dit zorgt voor de stabiliteit en onderhoudsvriendelijkheid van de website. Dit is een van de beste praktijken in de ontwikkeling met WordPress.
Stappen om een WordPress subsyteem (subtheme) te creeren:
Het is zeer eenvoudig om een basis-subtopic te creeren; je hoeft alleen maar enkele standaardstappen te volgen. Het hele proces draait om het maken van een subtopic-verkeersboom (directory) en de benodigde bestanden.
Aanbevolen leesmateriaal WordPress-geavanceerde ontwikkelingshandleiding: van thema-ontwerp tot prestatieoptimalisatie。
Allereerst moet u toegang krijgen tot de serverbestanden van uw WordPress-website, meestal via een FTP-client of de bestandsbeheerder van de host. Vervolgens navigeert u naar het mapverwijzing van de WordPress-installatie. /wp-content/themes/ Mappen.
Maak een submap met onderwerpen en een bestand met sjablonen.
In deze map maakt u een nieuwe map voor uw nieuwe subthema. Het is handig als de naam van de map duidelijk aangeeft hoe het subthema verband houdt met het overkoepelende thema. Als het overkoepelende thema bijvoorbeeld heet… twentytwentyfourU kunt de subthema-map noemen zoals u wenst. twentytwentyfour-child。
Om toegang te krijgen tot deze nieuw gecreerde map, moet u de eerste en belangrijkste bestand van het subthema maken:style.cssDeze bestand is niet alleen een stylesheet, maar bevat ook metadata waarmee onderthema's worden gedefinieerd.
/*
Theme Name: Twenty Twenty-Four Child
Theme URI: https://example.com/
Description: Twenty Twenty-Four Child Theme
Author: Your Name
Author URI: https://example.com/
Template: twentytwentyfour
Version: 1.0.0
Text Domain: twentytwentyfour-child
*/
/* 在此处添加您的自定义CSS样式 */ Uitleg van de belangrijkste punten:
* Theme NameDe namen van de subthema's worden weergegeven in het WordPress-administratiepaneel.
* TemplateDit is de belangrijkste regel. De waarde moet exact overeenkomen met de naam van de map van het parent-thema (met behoud van hoofd- en kleine letters). WordPress gebruikt dit veld om het parent-thema te herkennen.
* Text DomainDit wordt gebruikt voor internationalisering en is meestal gelijk aan de naam van de subthema-map.
Maak een bestand genaamd functions.php.
Volgens de instructies moet je nu in de subthema-map een tweede vereiste bestand maken.functions.phpRelatief tot het overkoepelende thema… functions.php Nee, de bestanden met subthema’s worden niet overschreven, maar worden tegelijkertijd uitgevoerd met de bestanden met dezelfde naam in het hoofdthema (het hoofdthema wordt eerst uitgevoerd).
Aanbevolen leesmateriaal De beste praktijken voor WordPress ontdekken en een volledig handboek voor efficiënt ontwikkelen。
Een van de belangrijkste functies van deze file is om de stijlbestanden (style sheets) van de overkoepelde thema's (parent themes) op de juiste manier te ordenen. Dit is een standaardmanier om dit te realiseren:
<?php
add_action( 'wp_enqueue_scripts', 'my_child_theme_enqueue_styles' );
function my_child_theme_enqueue_styles() {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( 'parent-style' )
);
}
?> Deze code zorgt ervoor dat de stylesheet van het parent-thema eerst wordt geladen, gevolgd door de stylesheet van het sub-thema. De regels in de stylesheet van het sub-thema kunnen de stijlregels van het parent-thema overraken.
Activeren en personaliseren van subthema's
Nadat u de twee bovenstaande bestanden hebt gemaakt, kunt u inloggen in het WordPress-beheerpaneel. Ga naar “Uiterlijk” → “Thema’s” en u moet het net gemaakte subthema zien. Klik op de knop “Activeren” om het te activeren.
Nadat het is activerd, zal het uiterlijk van uw website exact hetzelfde zijn als dat van het moedertema. Nu kunt u ermee gaan customizen!
- Stijl wijzigen: Editeer direct de subthema's.
style.cssVoor het bestand: voeg alle CSS-regels toe om de kleur, font, lay-out en dergelijke te veranderen. - Overwrite template files: Als u de structuur van een bepaalde pagina wilt wijzigen (bijvoorbeeld de homepagina, een artikelpagina, de header of de footer), hoeft u alleen de corresponderende templatefile uit het parent-thema te vervangen.
header.php,footer.php,page.phpKopieer de inhoud naar de map van het subthema en bewerke deze daarna. WordPress gebruikt de bestanden uit het subthema voorrangrijk. - Nieuwe functie toegevoegd: in de subthema's…
functions.phpEr worden nieuwe PHP-functies, hooks en filters toegevoegd om de mogelijkheden van de website uit te breiden.
Advanced applications en beste praktijken voor subthema's
Nadat u de basis van het maken hebt geleerd, kunnen enkele geavanceerde technieken en beste praktijken uw subthema sterker en professioneler maken.
Selectief laden van resources van het overkoepelde thema (parent theme)
Soms wilt u niet dat alle stijlen of scripts van het parent-thema worden geladen. U kunt dit op maat van uw behoeften instellen. functions.php Je hebt meer controle over het laden van resources. Bijvoorbeeld worden alleen de stijlen van het parent-thema geladen die nodig zijn voor een bepaald lay-out.
Aanbevolen leesmateriaal Hoe kies je een WordPress-thema uit dat het beste past bij het stijl van je website en hoe pas je dat thema aan?。
Internationalisatie met behulp van taalbestanden
Als u van plan bent uw subthema te distribueren, of als de website multi-linguale ondersteuning nodig heeft, is het belangrijk om de tekst domeinen (Text Domains) correct in te stellen en alles voor te bereiden. .pot Taalbestanden zijn nodig. Zorg ervoor dat alle te vertalen strings in het code gebruikmaken van een format zoals… __('String', 'your-child-theme-text-domain') Zo'n function moet worden 'gepakket' (of: worden omgevuld in een bepaald framework/structuur).
Versiebeheer en updatestrategie
Het wordt sterk aanbevolen om versiebeheerstools zoals Git te gebruiken om de code van uw subthema's te beheren. Zorg ervoor dat de code duidelijk wordt gemarkeerd met commentaren en maak regelmatig back-ups. De subthema's zelf moeten ook worden onderhouden; wanneer u nieuwe functies toevoegt of bugs fixt, kunt u de subthema's updaten. style.css Het versienummer moet worden opgenomen, zodat het in de toekomst gemakkelijk kan worden beheerd.
Samenvatting
Het maken van een WordPress subsyteem is een essentieel vaardigheid dat iedere webontwikkelaar, designer en zelfs ervaren gebruiker moet beheersen. Het biedt onbeperkte mogelijkheden voor personalisatie, door op elegante manier te “erfgen en te overschrijven” de code van het basis-syteem (het parent-syteem). Hierdoor blijven de belangrijkste onderdelen van de website veilig updaten mogelijk. Het begint allemaal met het maken van een juiste indeling van de mappen en twee belangrijke bestanden…style.css 和 functions.phpHet proces begint met het instellen van WordPress, gevolgd door het activeren van de website en het diepere aanpassen van het uiterlijk, de templates en de functies. Alle stappen zijn duidelijk uitgelegd, waardoor de risico's te beheersen zijn. Door de beste praktijken te volgen die in dit artikel worden beschreven, kunt u een stabiele, professionele WordPress-website bouwen die gemakkelijk op de lange termijn kan worden onderhouden.
Veelgestelde vragen (FAQ)
Steunt elke WordPress-thema het maken van subthema's?
Technisch gezien kan elke thema dat de codingstandaarden van WordPress volgt dienen als parent thema. Meestal geven populaire en kwalitatief goede thema's duidelijk aan dat ze subthemata ondersteunen; dit kunt u vinden in de officiële beschrijving of documentatie van het thema. Als de structuur van het thema voldoet aan de vereisten, werkt het meestal ook wel om een subthemaa te creëren, zelfs als dit niet expliciet is aangegeven.
Wat gebeurt er als het veld `Template` in het `style.css`-bestand van een subtopic verkeerd is ingevuld?
Als Template De waarde van het veld correspondeert niet met de echte naam van de map van het parent-thema. WordPress kan het parent-thema dan niet herkennen. Hierdoor zal het sub-thema niet kunnen worden geactiveerd in de backend, of de websitefrontend zal niet goed werken wanneer het wel wordt geactiveerd (bijvoorbeeld worden stijlen of lay-outs niet weergegeven). Het is dus belangrijk om dit veld met de juiste informatie in te vullen.
Kan ik op basis van een onderthema een ander “kleinkindthema” (sub-subtheme) maken?
Het WordPress-themesysteem ondersteunt in principe alleen één laag van afstammingsrelaties: een subthema mag maar één directe parentthema hebben. Theoretisch kunt u proberen om een subthema te gebruiken als template voor een ander subthema, maar dit is een niet-standaard manier van werken en kan tot onvoorspelbare fouten en compatibiliteitsproblemen leidden. Daarom wordt dit ten sterkste niet aanbevolen.
Als ik het overkoepelde thema (parent theme) update, zal het aangepaste content van mijn onderthema (subtheme) dan verloren gaan?
Eén van de grootste voordelen van het gebruik van subthema's is dat de inhoud niet verloren gaat. Een update van het parentthema beïnvloedt alleen de bestanden in dat parentthema-directory. Al uw aanpassingen worden gespeeld op in een apart subthema-directory, waardoor ze volledig behouden blijven. Er is echter een belangrijke waarschuwing: als een grote update van het parentthema de werking van bepaalde functies of de structuur van templates verandert, moeten de onderdelen in uw subthema die zijn gewijzigd ook worden aangepast om te werken met de nieuwe versie.
De volgende stap, wat moeten we als volgende doen?
Voor meer informatie en praktische kennis
De volgende content is relevant voor het onderwerp van dit artikel en is geschikt voor verder lezen. Het kan vaak effectief zijn om eerst het artikel te lezen dat het dichtst bij uw huidige vraagstuk staat en vervolgens geleidelijk aan artikelen over aanverwante onderwerpen te bekijken.
- Hoe je je WordPress-thema kiest en personaliseert: een volledig handboek van het begin tot de expert
- Van het begin tot de volle meesterheid: een uitgebreide uitleg van de principes, toepassingsmogelijkheden en beste praktijken van CDN-technologie
- Sneler maken met je website: een gedetailleerde gids over het gebruik van CDN (Content Delivery Network) en de beste praktijken
- Hoe je je eigen WordPress-thema kiest en personaliseert: een volledig handboek voor beginners tot experts
- Werkt de website traag? Een praktische handleiding voor het optimaliseren van de prestaties van de WordPress-database.