Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Úprava php v wordpressu - podmínka IF

Aktivity
Avatar
baalguss
Člen
Avatar
baalguss:9.3.2015 21:24

Pěkný den, poprosím Vás, zdali byste mi nedokázali poradit jak upravit php kód ve wordpressu. Používám pole Custom Fields označené jako "dostupnost", kam autor zadává textovou proměnnou typu dostupné, rezervované atd. V kódu stránky pak vypisuji jednoduše: <div class="dostup­nost"><?php echo get_field('dos­tupnost'); ?></div>. Vše funguje, ale protože pod class div prvku používám nějaké stylizační prvky, jako je barva pozadí nebo padding, je problém, když get_field('dos­tupnost') nic neobsahuje. Udělá se mi tam nepěkný čtvereček z div kaskádového stylu. Jak by šlo, prosím, rozšířit zápis v php o podmínku IF, aby v případě, že get_field('dos­tupnost') obsahuje jakýkoliv řetězec, tak se vypíše div a v opačném případě nikoliv?

Děkuji.

 
Odpovědět
9.3.2015 21:24
Avatar
Ori I
Člen
Avatar
Odpovídá na baalguss
Ori I:9.3.2015 21:46

s WP nerobil ale niečo na tento štýl

<?php if(get_field('dostupnost')) { ?>
<div class="dostupnost"><?php echo get_field('dostupnost'); ?></div>
<?php } ?>
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
9.3.2015 21:46
Avatar
Odpovídá na baalguss
Michal Šmahel:9.3.2015 21:49

Uděláš si podmínku, zda-li existuje dostupnost, pokud ne, do proměnné $dosskryt si ulož "skryt". Do divu přidáš class="" a do toho si necháš vypsat proměnnou $doszobraz.

Kdyby náhodou:

//Do PHP třidy (nebo jak se tomu ve WP říká)
$dosskryt = ""; //Defaultně nebude mít div žádnou třídu
if (empty($dostupnost)) {
    $dosskryt = "skryt"; //Nastavíme třídu skrýt
}

//Do HTML
<div class="<?php $dosskryt ?>">
.
.
.
</div>

Není tam zajištěn výpis té proměnné ani přesun mezi soubory, jedná se pouze o nápovědu, jak to udělat.

Nahoru Odpovědět
9.3.2015 21:49
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Ori I
Michal Šmahel:9.3.2015 21:51

Jaj, já to napsal ale složitě :D.

Nahoru Odpovědět
9.3.2015 21:51
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Ori I
Člen
Avatar
Odpovídá na Michal Šmahel
Ori I:9.3.2015 21:53

tak to si teda veru napísal :D

 
Nahoru Odpovědět
9.3.2015 21:53
Avatar
Odpovídá na Ori I
Michal Šmahel:9.3.2015 21:55

A máš to trochu divoké, muselo by to být:

<?php
if(!empty(get_field('dostupnost') {
    echo "
        <div>"
            . get_field('dostupnost') .
       " </div>
    ";
}
?>
Nahoru Odpovědět
9.3.2015 21:55
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Ori I
Michal Šmahel:9.3.2015 21:57

Já se přiznám, když vidím chybu na své straně, ale už jsem viděl lidi, kteří to tak nedělají... :)

Nahoru Odpovědět
9.3.2015 21:57
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Marek Vach
Člen
Avatar
Marek Vach:9.3.2015 23:30

Co popisuješ by mělo jít udělat naprosto jednoduše bez nějakého lítání mezi soubory. To co tam máš daný teď nahraď tímto.

<?php
$dostupnost = get_field('dostupnost');
if ($dostupnost == '') { //pokud nic neobsahuje
   echo ('');            //nic se nevypíše
}
else {
echo ('<div class="dostupnost">' .$dostupnost. '</div>');
}
?>

Kdyby to nefungovalo, dej vědět, opravíme to :)

Editováno 9.3.2015 23:34
 
Nahoru Odpovědět
9.3.2015 23:30
Avatar
baalguss
Člen
Avatar
baalguss:10.3.2015 6:36

Děkuji všem,
vzal jsem hned to první a hned to fungovalo :)

 
Nahoru Odpovědět
10.3.2015 6:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.