předávání proměnných v šabloně

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem předávání proměnných v šabloně

Zvolené téma obsahuje celkem 2 odpovědi. Do diskuze (3 účastníci) se naposledy zapojil uživatel  admin a poslední změna je stará 13 let, 3 měsíce.

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (z celkem 3)
  • Autor
    Příspěvky
  • #813

    mitch
    Participant

    Zdravím,

    zasekl jsem se na mrtvém bodě :c(

    Mám šablonu ve které v souboru page.php potřebuju na základě nějaké podmínky nastavit proměnnou třeba $sekce = 1; a dále v tomto souboru se volá druhý sloupec vzhledu pomocí <?php get_sidebar(); ?> a já bych potřeboval aby tato proměnná $sekce byla k dispozici i v souboru sidebar.php abych tam s ní mohl pracovat tím stylem že když $sekce == 1 tak ukaž něco a tak :c)

    Problém je že ta proměnná se tam nedostane :c(

    Prostě potřebuju udělat to že když si vlezu na konkrétní stránku tak aby se do proměnné uložila nějaká informace a ta byla přístupná v souboru sidebar.php na celém webu tedy i na jiných stránkách dokud jí zase vstupem na nějakou jinou konkrétní stránku nepřepíšu třeba $sekce = 2

    Zkoušel jsem i $_SESSION[“sekce”] nebo $_COOKIE[“sekce”] to se mi sice hodnota do sidebar.php dostane ale když vlezu třeba na nějaký příspěvek tak hodnota už je zase neznáma :c(((

    Poradíte někdo jak toho docílit?

    Předem moc díky za nakopnutí :c) přeci jen už je 3:20 ráno a už mi to nějak nemyslí :c)))

    #7602

    rubik
    Participant
    Web

    Mě to teda nemyslí ani v poledne, ale napadá mě, že by možná nebylo špatný předávat tu hodnotu přes databázi.

    #7603

    admin
    Keymaster
    Web

    Stačí použít globální proměnnou…

    V page.php tedy např. vznikne nějaká proměnná:

    $sekce = 1;

    V sidebar.php pak tuto proměnnou nejdříve definuješ jako globální a až pak s ní dále pracuješ.

    global $sekce;

    echo $sekce;

    Ale podobné předávání není ideální. Nevím přesně, čeho se snažíš dosáhnout, ale správně by to mělo být řešeno vlastní funkcí v souboru functions.php a pak by mělo stačit tuto funkci zavolat v souboru sidebar.php. Ale záleží to hodně na tom, co potřebuješ konkrétně udělat…

    rubik: Díky za odpověď! Ano, pokud jde o něco specifického, tak je možné hodnotu ukládat i do databáze, např. v podobě nastavení (options) nebo uživatelského pole (custom field). Ale obvykle lze většinu věcí vyřešit jednoduchými funkcemi přímo v šabloně a využít stávajících hodnot a proměnných…

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (z celkem 3)

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

WordPress – novinky, návody a zajímavosti