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á 9 let, 7 měsíců.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)
  • Autor
    Příspěvky
  • #19977

    amcatko
    Participant

    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?

    #19981

    admin
    Keymaster
    Web

    Plugin 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…

    #20018

    amcatko
    Participant

    Shortcodů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 …

    #20022

    amcatko
    Participant

    Ok, 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?

    #20023

    admin
    Keymaster
    Web

    Ano, 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 typu single-category.php bohuž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…

    #20033

    amcatko
    Participant

    Jop, to je přesně to, co potřebuji! Děkuji moc!

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti