Voordat je een thema voor WordPress maakt, kun je natuurlijk proberen de kant-en-klare thema's te begrijpen (dat is wat ik deed). Maar feit is dat er soms zoveel spullen in zitten dat het niet altijd gemakkelijk is.
De basis van elk thema zijn de style.css- en index.php-bestanden
Maak eerst een map in /wp-content/themes - dit zal je toekomstige thema zijn, ik heb bijvoorbeeld misha123 gemaakt. Elk thema moet minstens 2 bestanden bevatten - index.php en style.css - maak ze in deze map.
Als je scoorde op style.css, dan in het beheerdersdashboard Uiterlijk > Thema's verwacht een fout als deze:
Als je scoorde op index.php:
Hier babbelt WordPress nog steeds iets over onderliggende thema's, let niet op, jij .
Totdat we het nog hebben bestudeerd, zal index.php verantwoordelijk zijn voor de uitvoer van elke pagina op de site, en style.css zal natuurlijk stijlen bevatten (hoewel dit niet nodig is), maar het belangrijkste is dat in de style.css bestand heb je metadata en onderwerpbeschrijving toegevoegd.
Themanaam De naam van het thema, toch? Versie Huidige versie van uw thema Beschrijving Ik weet niet wat deze parameter betekent Auteur Hier kunt u uzelf en de mensen die u hebben geholpen opgeven Auteur URI URL naar de website van de auteur, waarmee u de naam van de auteur kunt omzetten in een link in WordPress admin-licentie Als u voor WordPress maakt, raad ik u aan iets te lezen over de GPL-licentie-URI. En deze parameter specificeert een link naar de pagina met de Text Domain-licentie. Iets gerelateerd aan het vertalen van het onderwerp in andere talen, ik denk dat we het niet nodig hebben nu, maar later raad ik aan erover te lezen. Tags Als dit thema uw toekomstige website of de website van uw klant wordt, kunt u deze parameter hoogstwaarschijnlijk overslaan, maar als u uw thema vervolgens in de officiële WordPress-repository publiceert, besteed er dan speciale aandacht aan. Nee, je hoeft niet alles wat in je opkomt hier neer te gooien; de lijst met ondersteunde tags is te vinden op de officiële website.
In feite zijn geen van deze parameters vereist! En zo zal alles gaan. Bijvoorbeeld zoals hier:
Ik sluit niet uit dat deze optie geschikt is voor iemand, maar niet voor mij. Nu kopieer ik gewoon de vorige code naar het begin van style.css van het thema en dit is wat ik krijg:
De themaafbeelding instellen
Mee eens, vergeleken met andere thema's ziet het onze er nogal saai uit vanwege het ontbreken van een afbeelding! De vierkantjes flikkeren ook tijdens het scrollen 😭
Om dit op te lossen, maken we eenvoudigweg een screenshot.png-bestand en sturen dit rechtstreeks naar de themamap (aanbevolen resolutie 1200px bij 900px).
Wat de bestandsextensie betreft, zijn jpg, gif en jpeg voldoende, maar de officiële WP-code raadt het gebruik van screenshot.png aan.
Hier is nog iets:
In dit voorbeeld heb ik specifiek een vierkante afbeelding in jpg-formaat genomen en deze wordt redelijk goed weergegeven op de pagina met alle onderwerpen, maar als je informatie over het onderwerp in het pop-upvenster opent, zal het triest zijn. De afbeelding wordt uitgerekt en is van slechte kwaliteit.
Hoewel het niet verplicht is, is het hoofdthemabestand in feite functies.php
Het is moeilijk om je een thema voor WordPress voor te stellen dat geen function.php-bestand heeft; het wordt gebruikt om alle functies van het thema op te nemen, het kan bijvoorbeeld ook wat extra functionaliteit bevatten, of bestanden die erin zijn opgenomen via include() / vereisen ().
Oh ja, had ik het niet vermeld? In deze tutorial ga ik ervan uit dat je basiskennis van PHP hebt, zo niet dan.
De hoofdregel voor functies.php is dat het bestand zelf niets mag uitvoeren! 💀 Dat wil zeggen, nooit! 👿
Zoals u kunt zien, heb ik eenvoudigweg de codering gespecificeerd, het stijlblad ingevoegd, hoewel niet helemaal correct, en "Hallo wereld!" in de hoofdtekst van het document geschreven.
Je kunt het geen dynamische site noemen, maar je moet ergens beginnen. Zoals ik al zei, wordt dit bestand in dit stadium op alle pagina's van uw site geopend.
En nog iets: om WordPress te helpen met uw thema te communiceren, moet u vóór de afsluitende tag toevoegen functie en vóór de afsluitende tag