Az összes lehetséges HTML elemnek a témájának kell lennie stílusban (kivéve, ha gyermek témáról van szó), mind a bejegyzés / oldal tartalmában, mind pedig együttesen mement tartalma.
- Táblázatok, feliratok, képek, listák, idézőjelek stb.
Nagyon ajánlott a nyomtatásbarát stílusok hozzáadása.
- Felvehet egy nyomtatási stíluslapot a media = “print” kifejezéssel, vagy hozzáadhatja a fő stíluslap nyomtatási média blokkjához.
Funkciók Fájl
A téma opcionálisan használhat egy függvényfájlt, amely a téma alkönyvtárban található, és amelynek a neve function.php. Ez a fájl alapvetően pluginként működik, és ha az Ön által használt témában jelen van, akkor a WordPress inicializálása során automatikusan betöltődik (mind az admin, mind a külső oldalak esetében). A fájl javasolt felhasználási módjai:
- Téma stíluslapok és szkriptek megjelenítése. Lásd: wp_enqueue_scripts.
- Engedélyezze a témafunkciókat, például az oldalsávokat, a navigációs menüket, az indexképeket, a postai formátumokat, az egyéni fejléceket, az egyéni háttereket és másokat.
- Határozza meg a saját sablonfájljaiban használt funkciókat téma.
- Állítson be egy opciómenüt, amely lehetőséget ad a webhelytulajdonosoknak a színekhez, stílusokhoz és a téma egyéb aspektusaihoz.
Az alapértelmezett WordPress téma függvényeket tartalmaz. php fájl, amely meghatározza ezen funkciók sokaságát, ezért érdemes modellként használni. Mivel a functions.php alapvetően pluginként működik, a Function_Reference lista a legjobb hely, ahol további információt talál arról, hogy mit tehet ezzel a fájllal.
Megjegyzés annak eldöntéséhez, hogy mikor adjunk függvényeket a functions.php vagy egy adott bővítményhez: Előfordulhat, hogy ugyanarra a funkcióra van szükség ahhoz, hogy egynél több szülőtéma elérhető legyen. Ebben az esetben a függvényt egy pluginben kell létrehozni, az adott témához a function.php helyett. Ez tartalmazhat sabloncímkéket és más speciális funkciókat. A beépülő modulokban található funkciókat minden téma látni fogja.
Sablonfájlok
A sablonok PHP forrásfájlok, amelyeket a látogatók által kért oldalak létrehozására használnak, és HTML-ként kerülnek kimenetre. A sablonfájlok HTML, PHP és WordPress sabloncímkékből állnak.
Nézzük meg azokat a különféle sablonokat, amelyek egy téma részeként definiálhatók.
A WordPress lehetővé teszi külön sablonok meghatározását a webhely különböző aspektusaihoz. Ez nem azonban elengedhetetlen, hogy a webhely minden működése érdekében megkapja ezeket a különböző sablonfájlokat. A sablonokat a sablonhierarchia alapján választják ki és generálják, attól függően, hogy az adott témában milyen sablonok érhetők el. fejlesztő, kiválaszthatja a testreszabás mértékét, amelyet sablonok segítségével kíván végrehajtani. Például extrém esetben csak egy sablonfájlt, az index.php nevet használhat sablonként a webhely által létrehozott és megjelenített összes oldalhoz. gyakoribb alkalmazás az, hogy a különböző sablonfájlok különböző eredményeket generálnak a maximális testreszabás érdekében.
Sablonfájlok listája
Itt található a WordPress által felismert Témafájlok listája. Természetesen, az Ön témája bármilyen más stíluslapot, képet vagy fájlt tartalmazhat. Ne feledje, hogy a az alábbiak különleges jelentéssel bírnak a WordPress számára – további információkért lásd: Sablonhierarchia.
style.css A fő stíluslap. Ezt hozzá kell adni a témához, és tartalmaznia kell a témához tartozó információfejlécet. rtl.css Az rtl stíluslap. Ez automatikusan bekerül, ha a weboldal szövegiránya jobbról balra halad. Ezt az RTLer beépülő modul segítségével lehet létrehozni. Index.php A fő sablon. Ha a Téma rendelkezik saját sablonokkal, akkor az index.php-nak jelen kell lennie. comments.php A megjegyzések sablonja front-page.php Az első oldal sablonja home.php A kezdőlap sablonja, amely alapértelmezés szerint az első oldal.Ha statikus kezdőlapot használ, akkor ez a sablon a legfrissebb bejegyzéseket tartalmazó oldalhoz. single.php Az egyetlen post sablon. Akkor használható, ha egyetlen bejegyzést kérdeznek. Ehhez és az összes többi lekérdezési sablonhoz az index.php-t használják, ha a lekérdezési sablon nincs meg. single- {post-type} .php Az az egyedi post sablon, amelyet akkor használunk, ha egy egyedi post típusú lekérdezést kérdezünk le. Például a single-book.php-t használnák az egyedi bejegyzések megjelenítésére a “könyv” nevű egyéni bejegyzés típusból. Az index.php akkor használható, ha az egyéni bejegyzés típusához tartozó lekérdezési sablon nincs megadva. page.php Az oldal sablonja. Egy adott oldal lekérdezésekor használható. category.php A kategória sablon. Egy kategória lekérdezése esetén használatos. tag.php A címke sablon. Címke lekérdezésekor használatos. taxonomy.php A sablon kifejezés. Akkor használatos, amikor egy szokásos rendszertanban szereplő kifejezés lekérdezésre kerül. author.php A szerző sablonja. Akkor használatos, ha a szerzőt lekérdezik. date.php A dátum / idő sablon. Dátum vagy idő lekérdezésekor használható. Év, hónap, nap, óra, perc, másodperc. archive.php Az archív sablon. Akkor használatos, ha egy kategóriát, szerzőt vagy dátumot kérdeznek. Vegye figyelembe, hogy ezt a sablont felülírják a category.php, author.php és date.php a megfelelő lekérdezési típusoknál. search.php A keresési eredmények sablonja. Használt, amikor keresést hajtanak végre. attachment.php Melléklet sablon. Egyetlen melléklet megtekintésekor használható. image.php Képmelléklet sablon. Egyetlen képmelléklet megtekintésekor használható. Ha nincs, akkor a attach.php fájlt kell használni. 404.php A 404 nem található sablon. Akkor használatos, amikor a WordPress nem talál a lekérdezésnek megfelelő bejegyzést vagy oldalt.
Ezeknek a fájloknak különleges jelentése van a WordPress vonatkozásában, mivel az index.php helyettesítésére használják, ha rendelkezésre állnak, a Sablonhierarchia szerint, és amikor a megfelelő Feltételes Tag igaz értéket ad vissza. Például, ha csak egyetlen bejegyzés jelenik meg, az is_single () függvény visszaadja az “igaz” értéket, és ha az aktív témában egyetlen.php fájl található, akkor ezt a sablont használják az oldal létrehozására.
Alapsablonok
A WordPress-téma legalább két fájlból áll:
Mindkét fájl a Téma könyvtárba kerül. Az index.php sablonfájl nagyon rugalmas. Használható az összes fejlécre, oldalsávra, láblécre, tartalomra, kategóriára, archívumra, keresésre, hibára és minden más, a WordPress alkalmazásban létrehozott oldalra történő hivatkozás beillesztésére.
Vagy fel lehet osztani moduláris sablonokra fájlokat, amelyek mindegyike vállalja a munkaterhelés egy részét. Ha nem ad meg más sablonfájlokat, előfordulhat, hogy a WordPress alapértelmezett fájlokkal vagy funkciókkal rendelkezik a munkájuk elvégzéséhez. Például, ha nem ad meg egy searchform.php sablonfájlt, a WordPress alapértelmezett funkcióval rendelkezik a keresési űrlap megjelenítéséhez.
A tipikus sablonfájlok a következők:
- megjegyzések. php
- comments-popup.php
- footer.php
- header.php
- sidebar.php
Ezekkel a sablonfájlokkal elhelyezhet sabloncímkéket az index.php törzsfájlban, hogy ezeket a többi fájlt felvegye arra a helyre, ahol azt szeretné, hogy megjelennek a véglegesen létrehozott oldalon.
Íme egy példa a tartalmazza a felhasználást:
<?php get_sidebar(); ?><?php get_footer(); ?>
Egyes sablonfunkciók alapértelmezett fájljai elavultak lehetnek, vagy nincsenek, és ezeket a fájlokat a témában kell megadnia. A 3.0 verziótól kezdve az elavult alapértelmezett fájlok a wp-includes/theme-compat
mappában találhatók. Például meg kell adnia a header.php-t a get_header () függvény biztonságos működéséhez, és a comments.php-t a comments_template () függvényhez.
További információ arról, hogy ezek a különféle sablonok hogyan működnek, és hogyan hozhatók létre különböző olvassa el a Sablonok dokumentációját.
Egyéni oldalsablonok
Az egyes oldalsablonokat meghatározó fájlok a Témák könyvtárban találhatók. Új egyedi oldalsablon létrehozásához az oldalhoz létre kell hoznia egy fájlt. Hívjuk az oldalunk első oldalsablonját snarfer.php. A snarfer.php fájl tetejébe tegye a következőket:
<?php/*Template Name: Snarfer*/?>
A fentiek A kód ezt a snarfer.php fájlt “Snarfer” sablonként definiálja. Természetesen a “Snarfer” helyettesíthető a legtöbb szöveggel, hogy megváltoztassa az oldal sablon nevét. Ez a sablon neve a Téma Szerkesztőben jelenik meg ennek a linknek a szerkesztésében. fájl.
A fájlt szinte bármi megnevezhetjük .php kiterjesztéssel (lásd a fenntartott téma fájlneveket azokhoz a fájlnevekhez, amelyeket nem szabad használni; ezek speciális fájlnevek, amelyeket a WordPress meghatározott célokra fenntart).
A fenti öt kódsor követése rajtad múlik. A többi kód, amelyet írsz, szabályozza, hogy a Snarfer oldalsablont használó oldalak hogyan jelenjenek meg. A WordPress sablonfüggvények leírását lásd: Sabloncímkék használhatja erre a célra. Kényelmesebb lehet más sablonokat (például page.php vagy index.php) átmásolni a snarfer.php fájlba, majd adja hozzá a fenti öt kódsort a fájl elejéhez.Így csak a HTML és a PHP kódot kell megváltoztatnia, ahelyett, hogy mindezt a semmiből készítené. Az alábbiakban példákat mutatunk be. Miután létrehozott egy oldalsablont és elhelyezte a téma könyvtárában, az választhatóan elérhetővé válik egy oldal létrehozásakor vagy szerkesztésekor. (Megjegyzés: egy oldal létrehozásakor vagy szerkesztésekor az Oldalsablon opció csak akkor jelenik meg, ha legalább egy sablon van definiálva a fenti módon.)
Lekérdezés alapú sablonfájlok
A WordPress különböző sablonokat tölthet le különböző lekérdezési típusokhoz. Ennek kétféle módja van: a beépített sablonhierarchia részeként, és a Feltételes címkék használatával a sablonfájl hurokjában.
A Sablonhierarchia használatához alapvetően speciális célú sablonfájlokat kell megadnia, amelyek automatikusan felhasználásra kerül az index.php felülírására. Ha például a témája a category.php nevű sablont biztosítja, és egy kategóriát kérdeznek le, akkor az index.php helyett a category.php kerül betöltésre. Ha a category.php nincs, Az index.php-t a szokásos módon használják.
A sablon hierarchiájában még részletesebbé teheti az af ile, például: category-6.php – ezt a fájlt fogja használni a category.php helyett, amikor az oldalt generálja annak a kategóriának, amelynek azonosító száma 6 (A kategória azonosító számokat a > Kategóriák, ha webhelyadminisztrátorként van bejelentkezve a WordPress 2.3-as és újabb verzióiban. A WordPress 2.5-ben az azonosító oszlopot eltávolították az Adminisztrálás panelekről. A kategóriaazonosítót úgy találhatja meg, hogy rákattint a “Kategória szerkesztése” elemre, és megkeresi az URL címsávjában található cat_ID értéket. Úgy néz ki, hogy “… categories.php? Action = edit & cat_ID = 3” ahol “3” a kategóriaazonosító). A folyamat működéséről részletesebben a Kategória sablonok című részben olvashat.
Ha a témának még jobban ellenőriznie kell, hogy mely sablonfájlokat használja, mint amit a Sablonhierarchia tartalmaz, használhatja a Feltételes Címkék. A Feltételes címke alapvetően ellenőrzi, hogy bizonyos feltételek teljesülnek-e a WordPress Hálózaton belül, majd betölthet egy adott sablont, vagy betehet egy adott szöveget a képernyőre az adott feltétel alapján. Például, ha csak egy adott kategóriában található bejegyzésben szeretne megkülönböztető stíluslapot létrehozni, a kód így nézhet ki:
Vagy egy lekérdezés segítségével így nézhet ki:
<?php$post = $wp_query->post;if ( in_category( "9" ) ) { get_template_part( "single2" );} else { get_template_part( "single1" );}?>
Mindkét esetben ez a példa kód különböző sablonokat fog használni a megjelenített bejegyzés kategóriájától függően. A lekérdezés feltételei nem korlátozódnak kategóriákra, azonban az összes opció megtekintéséhez olvassa el a Feltételes címkék cikket. további sablonok, amelyek a saját egyéni kritériumai alapján jelennek meg. Ez a speciális funkció a “template_include” műveleti horog segítségével érhető el. További információ a beépülő modulok létrehozásáról a Plugin API referenciában található.
Sablonfájlok belefoglalása
Másik sablon (fejléc, oldalsáv, lábléc kivételével), amelyek előre definiált parancsokat tartalmaznak, például: get_header ()) sablonba, használhatja a get_template_part () parancsot. Ez megkönnyíti a téma számára a kódrészek újrafelhasználását.
Fájlok hivatkozása sablonból
Ha ugyanazon témán belül más fájlokra hivatkozik, kerülje a keményen kódolt URI-kat és a fájlok elérési útjait. Ehelyett hivatkozjon az URI-kra és a fájlok elérési útjaira a bloginfo () segítségével: lásd: Fájlok hivatkozása sablonból.
Ne feledje, hogy a stíluslapban használt URI-k a stíluslapra vonatkoznak, nem pedig a stíluslapra hivatkozó oldalra. Például, ha felvesz egy képet / könyvtárat a témájába, akkor csak ezt a relatív könyvtárat kell megadnia a CSS-ben, például:
h1 { background-image: url(images/my-background.jpg);}
Plugin API Hooks
A Témák fejlesztésekor nem szabad megfeledkezni arról, hogy a Témát úgy kell beállítani, hogy az jól működjön minden olyan WordPress beépülő modullal, amelyet a felhasználók elhatároznak. Horgok “(további információkért lásd a Plugin API-t).
A legtöbb Action Hook a WordPress központi PHP-kódjában található, így a témának nem kell különösebb címkével rendelkeznie a működéséhez. De néhány művelet A kampóknak jelen kell lenniük a témában ahhoz, hogy a beépülő modulok közvetlenül a fejlécben, a láblécben, az oldalsávon vagy az oldal törzsében jelenítsék meg az információkat. Íme egy lista a speciális Action Hook sabloncímkékről, amelyeket tartalmaznia kell:
wp_enqueue_scripts A témafájlokban használatos. Külső parancsfájlok és stíluslapok betöltésére szolgál. wp_head () A < fejbe > egy téma eleme, a header.php fájlban. Példa a beépülő modul használatára: JavaScript-kód hozzáadása. wp_footer () A footer.php fájlba megy, közvetlenül a záró < / body > címke előtt. Példa beépülő modul használatára: a lábléc aljára helyezze be a PHP-kódot, amelynek minden más után futtatnia kell.Nagyon gyakran használják internetes statisztikai kódok, például a Google Analytics beszúrására. wp_meta () Általában a < li > Meta < / li > szakasz a téma menüjében vagy oldalsávjában; sidebar.php sablon. Példa beépülő modul használatára: tartalmazzon egy forgó hirdetést vagy egy címkefelhőt. Comment_form () Közvetlenül a fájl elé kerül a comments.php fájlban. ” s záró címke (< / div >). Példa beépülő modul használatára: a megjegyzés előnézetének megjelenítése.
Valódi használati példaként megtalálhatja ezeket a plugin-kampókat az alapértelmezett téma sablonjaiban.
Téma testreszabási API
A WordPress 3.4-től kezdődően egy új A Témák testreszabása alapértelmezés szerint szinte az összes WordPress témához elérhető. A Téma testreszabása rendszergazda automatikusan kitölti azokat az opciókat, amelyekhez egy téma az add_theme_support () támogatással vagy a Beállítások API használatával deklarálja a támogatást, és lehetővé teszi az adminisztrátorok számára, hogy valós időben láthassák az általuk végrehajtott módosítások nem állandó előnézeteit.
A téma- és bővítményfejlesztőknek, akik új opciók hozzáadásához szeretnének hozzáadni a téma Téma-testreszabási oldalát, meg kell tekinteniük a Téma-testreszabási API dokumentációját. A Téma-testreszabási API további oktatóanyagai az Ottopress.com webhelyen érhetők el.
Megbízhatatlan adatok
A dinamikusan létrehozott tartalomtól el kell kerülnie a témát, különösen a HTML-attribútumokban kimenő tartalmat. Amint azt a WordPress Coding Standards megjegyzi, az attribútumokba kerülő szöveget az esc_attr () segítségével kell futtatni, hogy egyetlen vagy a dupla idézőjelek nem fejezik be az attribútum értékét, érvénytelenítik az XHTML-t, és biztonsági problémát okoznak. Gyakran ellenőrizni kell a cím, az alt és az érték attribútumokat.
Kevés speciális sabloncímke van a gyakori esetekhez, ahol Biztonságos kimenetre van szükség. Az egyik ilyen eset magában foglalja a bejegyzés címe megadását egy címattribútumban a_title_attribute () használatával a_title () helyett a biztonsági rés elkerülése érdekében. Íme egy példa a címcím hivatkozás címattribútumának megfelelő elhagyására fordítható szöveg használata esetén:
<a href="<?php the_permalink(); ?>" title="<?php sprintf( __( "Permanent Link to %s", "theme-name" ), the_title_attribute( "echo=0" ) ); ?>"><?php the_title(); ?></a>
Fordítási támogatás / I18n
A nyelv lokalizálásának zökkenőmentes átmenetének biztosítása érdekében használja a WordPress gettext-alapú i18n függvényeit az összes lefordítható szöveg bepakolásához a sablonfájlokba. Ez megkönnyíti a fordítófájlok bekapcsolását és a címkék, címek és egyéb sablonszövegek lefordítását a webhely aktuális nyelve. További információ: WordPress Localization és I18n for WordPress Developers.
Témakörök
A WordPress által generált osztályattribútumok test-, bejegyzés- és megjegyzéselemekhez való hozzáadásához hajtsa végre a következő sabloncímkéket. A posztosztályoknál csak a The Loop elemekre kell alkalmazni.
- body_class ()
- post_class ()
- comment_class ()
Sablonfájl ellenőrzőlista
Téma fejlesztésekor ellenőrizze, hogy a sablonfájljai megfelelnek-e a következő sablonfájlok szabványainak.
Dokumentumfej (header.php)
- Használja a megfelelő DOCTYPE-t.
- A nyitó < html > címkének tartalmaznia kell a language_attributes ( ).
- A < meta > karakterkészletet minden más elé kell tenni, beleértve a < title > elem.
- A bloginfo () segítségével állítsa be a < metát > karakterkészlet és leíráselemek.
- A wp_title () segítségével állítsa be a < címet > elem. Nézze meg, miért.
- Használja az automatikus hírcsatornákat a hírcsatornák hozzáadásához.
- Adjon hozzá egy hívást a wp_head () fájlhoz a záró < / head előtt. > címke. A beépülő modulok ezt a műveleti kampót használják saját szkriptjeik, stíluslapjaik és egyéb funkcióik hozzáadásához.
- Ne kapcsolja össze a téma stíluslapokat a Fejléc sablonban. Használja helyette a wp_enqueue_scripts műveleti kampót egy témafüggvényben.
Íme egy példa egy helyesen formázott HTML5-kompatibilis fejterületre:
Navigációs menük (header.php )
- A téma fő navigációjának támogatnia kell egy egyéni menüt a wp_nav_menu () használatával.
- A menüknek támogatniuk kell a hosszú hivatkozások címeit és nagy mennyiségű listaelemet. Ezek az elemek nem sérthetik az elrendezést vagy az elrendezést.
- Az almenü tételeinek helyesen kell megjelenniük. Ha lehetséges, támogassa az almenü tételeinek legördülő menü stílusait. Legördülő menük, amelyek lehetővé teszik a menü mélységének megjelenítését a legfelsőbb szint megjelenítése helyett.
- A témát a lehető legteljesebb mértékben widgetizálni kell. Az elrendezésben minden olyan terület, amely widgetként működik (címkefelhő, blogroll, kategóriák listája), vagy amely képes widgeteket elfogadni (oldalsáv), engedélyezheti a modulok használatát.
- Alapértelmezés szerint widgetezett területeken megjelenő tartalom (kemény kódolású) például az oldalsávba) el kell tűnnie, ha a modulokat engedélyezik a Megjelenés > widgetekből.
Lábléc (footer.php)
- Használja a wp_footer () hívást, hogy közvetlenül a törzscímke bezárása előtt jelenjen meg.
<?php wp_footer();
read more