Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

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

PHP PHP Úprava php v wordpressu - podmínka IF American English version English version

Aktivity (1)
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
Člen
Avatar
Odpovídá na baalguss
Ori: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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 9.3.2015 21:46
Avatar
Odpovídá na baalguss
Michal Šmahel (ceskyDJ):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
Michal Šmahel (ceskyDJ):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
Člen
Avatar
Odpovídá na Michal Šmahel (ceskyDJ)
Ori: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
Michal Šmahel (ceskyDJ):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
Michal Šmahel (ceskyDJ):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  -1 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  +1 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.