it-swarm-eu.dev

Je-li volba get_template_part () výhodnější než pouţití souborů template.php?

V tento příspěvek na wordpress.stackexchange.com Zeptal jsem se, zda použití metody get_template_part (), jak je ukázáno v tématu TwentyTen, je doporučený osvědčený postup. Obecný konsenzus, který jsem dostal, byl, že to není nutně nejlepší praxe ve všech situacích.

Tato související otázka je pak následující: můžete mi poskytnout příklad, ve kterém je doporučený přístup pomocí metody get_template_part () by, než jednoduše definujete samostatné soubory template.php?

Například můžu definovat archive.php, single.php a page.php; nebo můžu definovat loop-archive.php, loop-single.php a loop-page.php.

Za jakých okolností by bylo vhodnější použít get_template_part ('loop', 'single') a pákový efekt loop-single.php versus jednoduše definovat single.php?

6
Tom Auger

Doporučený přístup pro použití get_template_part by byl pro zahrnutí bitů kódu, které by se jinak často opakovaly ve všech šablonách. Stejně jako kdybyste měli ve vaší smyčce definovány podmínky, které chcete zahrnout do souboru archive.php, search.php, single.php atd.

To také umožňuje dětským motivům přepsat tento soubor a zahrnout další konkrétnější soubory. Například pokud jste použili get_template_part( 'loop', 'single' ) a vaše téma má pouze soubor pojmenovaný loop.php, potom podřízený motiv by mohl obsahovat soubor pojmenovaný loop-single.php, který by přepsal vaši loop.php.

Je to v podstatě vlastní značka pro soubory šablon jiné než záhlaví, postranní panel nebo zápatí.

3
Chris_O

Nemám pocit, že existuje vždy platný důvod NEPOUŽÍVAT část get_template. Předtím, než existoval, WordPress témata byla naplněna opakovaným kódem a byla velmi časově náročná + matoucí dělat větší změny. S jedním souborem smyčky, který je vždy používán pro zobrazení příspěvků, je darem pro dětská témata i ty, kteří si přejí "vidličku". Pokud se podíváte na kód pro téma Twenty Eleven (v současné době ve vývoji), uvidíte, že části šablony byly rozšířeny i do formátů pošty. Všimněte si také, že "smyčka" byla odstraněna ze šablony a umístěna do volací šablony. Myslím, že je to nejlepší způsob, jak použít šablony částí pro post obsah a je mnohem flexibilnější než Twenty Ten.

Věděli jste, že jiná šablona se chová téměř stejně jako get_template_part ()? Napsal jsem a článek vysvětlující, jak: http://wordpress.mfields.org/2011/adding-context-to-template-parts/

IMHO čím flexibilnější je rodičovský motiv, tím lépe!

2
mfields

get_template_part() by měl být (imho) použit, pokud tento kód používáte ve více než jedné šabloně. Například. záhlaví, menu nav nebo postranní panel.

Šablony by měly být (imho - opět) použity, pokud je šablona odlišná více než jen některé řádky od ostatních šablon.

Já osobně používám pouze jednoduchý index.php, který obsahuje podmíněné tagy pro načtení dotazu na konkrétní části šablony v mém malém základním tématu. Ve větším tématu mám jen háčky v mém souboru index.php a hák v části šablony podmíněně (ale nastavení je mnohem složitější - většinou skutečné cms věci).

1
kaiser

Na základě Kaiserovy odpovědi je get_template_part() užitečné pro opakovaný kód. Například většina hlavních částí šablony má pravděpodobně velmi podobnou smyčku. Uvedení této smyčky do souboru nazvaného loop.php a volání get_template_part('loop'); znamená, že příště budete chtít změnit kód ve smyčce webu, jednou to uděláte na jednom místě, a ne v tuctu nebo tak často v tuctových souborech šablon. .

To je jedna velká výhoda get_template_part(). Druhý, a podle mého názoru důležitější, je, že velmi dobře funguje s rodiči/dítětem. Opětovným použitím příkladu loop.php, pokud máte podřízený motiv a chcete upravit kód smyčky ve vašem podřízeném tématu, ale nechcete změnit zbytek šablony, stačí přepsat jeden soubor loop.php ve vašem dítěti téma, spíše než tucet jiných souborů šablony.

1
John P Bloch