Úvodní stránka › Fórum podpory WordPressu › Pluginy (funkčnost webu) › Advanced custom fields
Zvolené téma obsahuje celkem 5 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel amcatko a poslední změna je stará 11 let, 5 měsíců.
-
AutorPříspěvky
-
15. srpna 2014 (15:57) #19977
Dobrý den,
nainstalovala jsem si plugin Advanced custom fields a bez problémů jsem si udělala skupiny polí i s pravidly, které mi fungují. Mám je udělané na příspěvky. Bohužel se mi pole nechtějí vypsat a na stránce mám jen ten strohý text z default pole.
Hledala jsem a našla jsem návod -> http://www.advancedcustomfields.com/resources/displaying-custom-field-values-in-your-theme/ který mi ale bohužel neni vůbec jasný.
Mohl by mi někdo pomoci a polopaticky vysvětlit?
15. srpna 2014 (17:24) #19981Plugin Advanced Custom Fields rozšiřuje možnosti klasických uživatelských polí. Podle návodu máte dvě základní možnosti (jako příklad beru, že používáte pole s názvem
jmeno):1) Vložíte na konec příspěvku zkrácený zápis (shortcode), tedy
[acf field="{$field_name}"], např.[acf field="jmeno"]2) Použijete funkci the_field() přímo v cyklu (loopu) stránky/příspěvku:
<?php the_field('jmeno'); ?>Tady už ale konkrétní úprava závisí dost na používané šabloně. Obecně musíte funkci vložit někam za funkci the_content() v souboru single.php (pro příspěvky) nebo page.php (pro stránky). Příklad v manuálu je uveden pro jednoduchou vlastní šablonu stránky a je to pouze příklad…
18. srpna 2014 (9:44) #20018Shortcodům jsem se právě chtěla vyhnout a tuto věc zautomatizovat …
Jde mi o to, že dělám informační web a ty příspěvky mám rozdělené do 4 hlavních rubrik a pro každou rubriku mám jiné custom fields a je jich na každé stránce cca 10 a většinou jsou jiné.
Proto by mě zajímalo, jestli pro celou skupinu polí nelze použít něco, jako pro samostatné pole (viz.
<?php the_field('jmeno'); ?>)Popř. jak vytvořit šablonku pro výpis příspěvku z dané rubriky? Tam bych klidně po jednom ty pole dala …
19. srpna 2014 (14:06) #20022Ok, asi jsem se spletla a ACF asi nebude to pravé. Zkoušela jsem tam vložit po jednotlivém poli a myslela jsem, že se vypíše i název pole … To taky nějak jde?
V praxi bych potřebovala něco, aby to vypadalo nějak takto …
<strong>Příspěvek v rubrice "rubrika1"</strong> zastupný text v defaultním poli <nazev pole>kontakt <vyplň pole>pod holubinkou 10, praha <nazev pole>oteviraci doba <vyplň pole>od pondělí do neděle .... atd.Existuje něco?
19. srpna 2014 (17:21) #20023Ano, přesně tak tento plugin funguje, jen si to musíte trochu doprogramovat…
Předpokládám, že upravujete soubor
single.php, který slouží pro zobrazení konkrétního příspěvku. Jeho šablonu si tak musíte upravit, aby obsahovala ještě podmínku na určitou rubriku (žádné soubory typusingle-category.phpbohužel hierarchie WordPressu zatím patrně neumožňuje). Možná by bylo pro přehlednost vhodné použít funkci get_template_part(), případně použít filtr single_template (příklad). Ale zpět k našemu příkladu…Použít musíte zejména podmínku in_category(). A pokud to chcete celé automatizovat i s názvy polí, tak bude asi vhodnější použít funkci get_field_object():
<?php if ( in_category( 'rubrika1' )) { $nazev_pole = "jmeno"; $jmeno = get_field_object( $nazev_pole ); echo $jmeno['label'] . ': ' . $jmeno['value']; } ?>Kód jsem nezkoušel, jde pouze o ilustrační ukázku, ale měl by teoreticky fungovat. Existují ale určitě i lepší řešení, tento plugin moc neznám, takže tam možná budou nějaké hooky nebo možnost použít informace přímo z objektu dotazovaného příspěvku (tedy i rubriku), těžko říci, zkuste to zatím takto a pořádně nastudujte manuál…
20. srpna 2014 (8:38) #20033Jop, to je přesně to, co potřebuji! Děkuji moc!
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.