Gyermek témák wordpress

Home → Témakörök → Gyermek téma WordPress

Kapcsolt téma WordPress lehetővé teszi, hogy módosítsa a meglévő a szálak, hogy az ilyen módosítások nem vész el, ha frissíti az eredeti (vagy szülő) témát. Amellett, hogy a megjelenés, gyermek témák lehetővé teszik, hogy az elrendezés, még funkcionalitása szülő téma, kiterjesztve azt, hogy illeszkedjen a saját igényeinek.

Támogatása, a gyermek (gyermek témákat) megjelent újabban WordPress, de a legtöbb ember még ma is inkább, hogy a változások a forráskódot közvetlenül a témát. Ebben a cikkben fogunk beszélni, hogy a gyermek témák WordPress, és miért segítségével a gyermek, hogy bármilyen változás a meglévő szálakat.

Mi a gyerek téma

Gyermek téma WordPress - olyan téma, örökli a megjelenését és hangulatát a teljes funkcionalitását Szülői (kiindulási) szálakat. Ez öröklés megkönnyíti, hogy módosítja és kiegészíti egyes részein a szülői téma megváltoztatása nélkül nagyon eredeti témát. Ezzel a megközelítéssel, frissítése a szülő téma nem lesz hatással az ilyen változásokat.

Szülőtéma tehet bármilyen más téma WordPress (kivéve a leányvállalatok), és futtatni egy gyerek téma, mind a szálak kell beállítani, de szükséges, hogy aktiválja a leányvállalata.

Hogyan hozzunk létre egy gyerek téma

Példaként hozzunk létre egy leányvállalat téma My Child Theme és fel fogja használni az alapértelmezett témát Húsz Tizenkét mint egy szülő.

Először is, győződjön meg arról, hogy a szülő téma van - talál twentytwelve könyvtár wp-content / themes. Ezután hozzon létre egy új mappát a wp-content / themes, és hívja meg az én-gyerek-téma. hozzon létre egy style.css fájlt az új könyvtárba és helyezze be a következő fejléc bele:

Ezzel a címmel, már azonosított a neve az új téma, valamint a megadott szülő. @import irányelv ebben az esetben betölti minden stílus téma Húsz Tizenkét, melynek tetején fogjuk, hogy mi változik. Anélkül, hogy ez az irányelv, a leányvállalat téma csak örökölni sablonok (layout) a szülő téma, hanem egy stílus.

Ezt követően, a témákat a könyvtárban kell kinéznie a következő módon:

Gyermek témák wordpress

A szerkezet a gyermek téma

Menj a Megjelenés → Témák, látni fogja, hogy az új téma áll rendelkezésre az aktiválásra.

Gyermek témák wordpress

Aktiválása a gyermek téma

Ha aktiválja, és megy a honlapon a webhely, azt találjuk, hogy a gyermek a téma úgy néz ki, mint az alapértelmezett téma Húsz Tizenkét.

Stílusok használata

CSS stílusok gyermek téma lehet állítani közvetlenül a style.css fájlt után azonnal @import irányelvet. Például, hogy a háttér színét és a link színek a téma, adjuk hozzá a következő kódot a fájl stílusok:

Így meg lehet változtatni a stílusát minden eleme a szülő téma, és keresse meg a kívánt elemet, akkor könnyen át a Fejlesztői eszközök a Google Chrome, vagy a Firebug kiterjesztés a Firefox böngészőt.

Munka sablonok

A gyerek téma, akkor is könnyen módosíthatja a sablon maga szülő témát. Ez elég ahhoz, hogy hozzon létre egy fájlt a gyermek téma az azonos nevű, mint a sablon a szülő témában. Például, hogy cserélje footer.php sablont a saját, hozzon létre footer.php fájl a könyvtárban a gyermek téma:

Így cserélje ki a szöveget a pincében Húsz Tizenkét téma a miénk.

Gyakran, amikor dolgozik sablonok gyerek témák könnyebb másolni egy meglévő sablon a szülő téma és módosítsa a már leányvállalata alá, így megőrizve az egész szerkezet a HTML-dokumentum. Ha hibázik, akkor mindig Sablon törlése és újrakezdés.

Ön is létrehozhat egy új template fájlok, amelyek hiányoznak a szülő téma, és a WordPress szerint csatlakoztassa őket a sablonhierarchiát. Például, ha a szülő nem áll page.php fájlt, akkor hozzon létre egy fájlt ugyanazzal a névvel a gyermek téma és WordPress dugja be megjelenítésekor egy oldalon.

Azt is meg kell jegyezni, hogy hasonló módon megváltoztatni nem lehet minden fájlt a szülő téma. Például, ha nem tudja megváltoztatni a fájl, ami okozta a PHP include függvény vagy igényel.

Munka functions.php

Fájl funkcióival functions.php téma különösen fontos a WordPress. Akkor nem helyettesítheti a gyermek téma, de akkor is létrehozhatja saját functions.php fájlt. WordPress amely elvégzi, mielőtt a letöltés functions.php vagy bármely más sablon szülő témát.

Ez azt jelenti, hogy a functions.php fájl, akkor eseményeket, a szűrők és az úgynevezett „újrafogalmazott” funkciót, hogy manipulálják a viselkedését a szülő téma. Például a footer.php fájlt egy téma az úgynevezett Húsz Tizenkét esemény twentytwelve_credits. Ahhoz, hogy hozzá saját szöveget ebben az esetben tudjuk használni a következő kódot a functions.php leányvállalatunk témák:

Azt is felülírják a funkciók a szülő téma. Például, a téma: még tizenkettő twentytwelve_content_nav funkció megjelenítésére használt navigációs keresztül a rekordokat. Ha meg kell változtatni a viselkedését ezt a funkciót, például használni WP-PageNavi navigációt. felül tudja írni azt a functions.php fájlt a leányvállalat tárgya:

Megjegyezzük, hogy a kihagyás nem minden funkcióját a szülő téma, és csak azok vannak burkolva olyan állapotban, hogy működjön function_exists. például:

Lokalizáció a leányvállalatok

Akkor tudod használni WordPress lokalizáció funkciót a sorokat:

Megjegyzés: a második paraméter (a szöveg tartomány), akkor meg kell egyeznie a tény, hogy már a híváskor megadott load_child_theme_textdomain funkciót. Így WordPress fogja használni a könyvtárat nyelveket a leányvállalat alá az összes sor a domain én-gyerek-téma. A sort az eredeti tárgy továbbra is át az eredeti nyelvi csomagokat.

következtetés

Összefoglalva azt szeretném megjegyezni még egyszer - nem módosítja a forrás fájlokat a meglévő WordPress témák, minden változás elvész, ha frissít a témát. Hogy a gyermek témák a legmegbízhatóbb és helyes módja, hogy módosítsa a meglévő WordPress téma.

Ha azt szeretnénk, hogy a változások csak a szinten CSS (megváltoztatása nélkül a sablonok), akkor is használja a plug-in szerkesztésre CSS.

Kostya, köszönöm!

Üdvözöljük Constantine. Letépte a haj már a probléma lokalizálását egy gyerek témát. Minden tett utasítások szerint. Tettem a funkció a szükséges kódot. Megcsináltam a po és mo fájlok (a CodeStyling Lokalizáció plugint) a leányvállalat és az anyavállalat témát. Azonban frissítése után a téma, mint az várható volt, eltűnt lokalizációs fájlokat a szülő téma és a teljes fordítás eltűnt. Megnéztem mindent. Megértem, hogy vordrpress veszi lokalizációs fájlokat csak szülő téma, és nem látja azokat a mappában nyelven gyerek téma. Folyamatosan kell átvezetnie a po és mo fájlokat a leányvállalat az anyavállalat, és csak fut. Bár, ha jól értem, a lokalizációs fájlokat kell működnie egy gyerek téma és nem változtatható szülő témát. Ne mondd nekem, hogy mi lehet a probléma? Köszönöm.

Dmitry, ha nem tévedek ez csak az új vonal is lehet fordítani alárendelt téma lokalizációs fájlokat, hogy használja a leányvállalat a témában, ezek tulajdonképpen a „szöveges domain” kell más.

Ha meg akarjuk változtatni a szülő téma lokalizáció fájlt, akkor a legjobb, ha a könyvtár wp-content / languages ​​/ themes / themeName és hely, ahol a fordítás fájlokat, bár a 4,0 változtatásokat terveznek ezen a területen, és ez nem teljesen világos, hogy ez mennyiben érinti a frissítés.

Megtettem mindent, amit mondott, de valahogy a stílus soha nem vontatott.
/ *
Téma címe: Sueva-gyermek
Description: A gyermek téma
Sablon: suevafree
* /

A mi lehet a probléma?

és egy speciális köszönöm a helyén, akkor nagyon könnyen érthető, világosan megfogalmazott, és mindenekelőtt kellemes a szemnek és jól strukturált!

Könnyebb lenne, ha küldtek egy linket az oldalon, ahol telepítette ezt a gyermeket témát.

Csináltam mindegy másik téma (húsz tizenkét, minden tökéletes volt. Mi ennek az oka? A nagyon témája ennek? Mi mást befolyásolja a megjelenését az oldalon, amellett, hogy a style.css fájlt?

Üdvözöljük Constantine. És hogyan lehet arról, hogy egy gyerek téma részét eltávolítja a kódot function.php. Például a szülő témában function.php fájlt hoztam létre egy fotót a méréseket a kód jelenti «add_image_size (hüvelykujj-kicsi", 160, 160, true);». Azt szeretnénk, hogy ez a darab a kód nem végzik el, hogyan kell csinálni?

Szia, Konstantin. Azt is ugyanaz a probléma, mint Galina. Azt akartam, hogy középre húsz tizennégy. De nincs betöltve stílusok szülő témát. Mondd, kérlek, mi a baj?
/ *
Téma neve: twentyfourteen
gyermek
Sablon: twentyfourteen

Mondd el, hogy egy plug-in? Két konkrét példát. Megváltoztattam a woocommerce bővítmény - add horog, és a változó elemek sorrendje a kimeneti plugin. Változtatásokat végeztem el a plugin is, mint a sablon fájlt. Hogyan módosítja a plug-inek - úgy, hogy a frissítés során, ők tartják? Hozzon létre egy új plug-in, vagy mi? Kérem, mondja meg.

A zsűri, a plug-inek sajnos nem működik, mert a témákat. Ha hozzá kell adnia a szűrő, vagy egy esemény egy másik plugint, akkor a legjobb, ha a kapcsolatot a fejlesztővel, és kérje meg őket, hogy adjunk ennek a horgot, mint hasznos lehet nem csak az Ön számára.

Ha a fejlesztő nem hajlandó, akkor meg tudja őrizni a saját „ága” a plugin, listát vezetni a változtatásokat, például formájában .diff fájlt és azt a fájlt, amikor frissített eredeti plugin.

Köszönöm a gyors választ. Fájl verzióját .diff egy automatizált folyamat, vagy minden változtatást manuálisan kell elvégeznie minden alkalommal?

Ha automatizálni, akkor automatikus :) diff és folt eszköz megtalálható minden Unix-szerű rendszert. Ha a dugó a GitHub, akkor próbáljuk villa ott, és időről időre frissíteni az eredeti.

Jó napot kívánok. Furcsa dolgok történnek.)) A css fájlt (lánya), hogy megváltoztassa a minden rendben van, de néha miért néhány nem akar működni. Ne mondd, hogy mi lehet a probléma?

Én meg egy témát, hogy már tartalmazza mind a szülő és a gyermek. Már a kezdetektől fogva astivirovala és dolgozott a szülő. Itt az ideje, hogy a frissítés telepítése. Szükséges, hogy aktiválja a leányvállalat az esemény előtt, de nem teljesen másolja a szülő (nem nenokoryh veszít menüoldalak, és így tovább.) Mit kell tenni, hogy ez lesz azonos. Köszönöm.

Hogyan felülbírálhatja gyermek témafájlt function.php kapcsolatban tett function.php szülő témát? Pontosabban, a következőkre van szükség: a function.php szülő téma fájl tartalmazza igényel get_template_directory () sort. '/inc/custom-header.php'; Ugyanakkor, ha aktiválja egyedi header.php gyermek témát húzódik a szülő téma. Megértem, hogy annak érdekében, hogy egyedi header.php vettünk egy gyerek téma, meg kell csatlakoztatni egy sort a fájl felülírás function.php gyermek témát. Hogyan kell csinálni? Egyszerű jelzővonallal igényel get_template_directory (). '/inc/custom-header.php'; A function.php gyerek téma okozza a hibát.

Nem, ha a tárgy közvetlenül használ igényelnek. változtatni a viselkedését a gyermek nem tud. Az Ön esetében jobb, ha a szűrők és rendezvények végre az egyéni header.php és próbálja meg kikapcsolni őket a remove_action vagy remove_filter.

Valószínűleg hülye, de ez nem válik világossá: «_e (»My fordítható szöveg megy itt.«,»My-gyerek-téma«);».
Tulajdonképpen kiderült sikeresen leányvállalatot alá vetette lánya «nyelvek» mappát a módosított fájlokat vihet át. Felírtam a fájlban functions.php minden leírt a cikkben, de a fordítás nem jelenik meg. Megpróbáltam újratelepíteni a téma aktiválást követően, de nem történt semmi.

Ha a feladat az, hogy a saját meglévő témát fordítás, nagy valószínűséggel fel kell használni egy másik szűrő, nevezetesen:

$ Mofile = apply_filters (load_textdomain_mofile ', $ mofile, $ tartomány);

Ie. Meg kell segítségével funkcióinak „megragad” a load_textdomain_mofile és összehasonlítjuk a csúszós út a domain fájlokat leányvállalata alá. Így lehetővé válik, hogy tárolja fordítását leányvállalata a szülő téma sablon változtatni magukat feleslegesen.

Ez valószínűleg nem a legmenőbb utat, mert az út már teljes, mint összehasonlítani nem túl kényelmes legyen.

Valószínűleg hülye, de ez nem válik világossá: «_e (»My fordítható szöveg megy itt.«,»My-gyerek-téma«);».

Saját lefordítható szöveg megy itt - a fordítandó szöveg.

én-gyermek-téma - szöveges tartomány leányvállalata alá (különböznie kell a szülő).

Fordítás hiányzik a contact.php oldal létrehoz egy másolatot a lányom. Szerkesztette domének ezt a fájlt a domain-gyermek. Nos, tulajdonképpen az összes fordítás jelent meg. De kiderül, most esetben egy frissítést contact.php én nem érintette. Hajlamos azt gondolni, hogy szükséges, hogy felülbírálja a szülői funkciót «load_theme_textdomain»

Bár ebben az esetben nem lesz frissítve fordítást. Majd meg kell hagyni a dolgot.

És bár a stop. Azt is összehasonlítani a domain - ez szép, hogy van, a normál if ($ tartomány === 'szülő-theme-name') ... És semmi köze a $ Mofile nem szükséges - akkor kell csak írni egy új fájl elérési útvonalát a gyermek téma és minden :)

Általában a téma nem letölteni semmit a saját könyvtárba, azt, hogy betöltse az összes felhasználói tartalmak csak a wp-content / feltöltések, nos, minden attól függ, hogy a kód lehet betölteni a szülő, és talán egy leányvállalata.

A inkluda keresztül végrehajtott módosításokat a leányvállalat nem lehet, mert A betöltés közvetlenül az include () vagy require (). és nem a locate_template ().

A! Fontos munka minden nehéz felülírni ezt a stílust, akkor is használhatja az! Fontos és még választhat egy szűkebb CSS-választó.