Nedávno som pre jeden blog potreboval na určitom mieste zobrazovať náhodný obrázok. Keďže kódovanie mi ide podstatne horšie ako varenie, rozhodol som sa použiť služby vyhľadávača google a vrámci ušetreného času spraviť nedeľný obed:) Nájsť požadované riešenie totiž nebolo vôbec zložité. Ešte jednoduchšie to máte vy, nemusíte totiž hľadať:) Ako teda vo WOrdpresse zobrazovať náhodný obrázok?
Riešenie priniesol web WPRecipes. Stačí do php súboru vložiť tento kód:
<?php
$result_random=rand(1, 99);
if($result_random<=33){ ?>
<div id="header" style="background:transparent url(images/header1.png) no-repeat top left;">
<?php }
elseif($result_random<=66){ ?>
<div id="header" style="background:transparent url(images/header2.png) no-repeat top left;">
<?php }
elseif($result_random<=99){ ?>
<div id="header" style="background:transparent url(images/header3.png) no-repeat top left;">
<?php } ?>
<!-- Header code goes here -->
</div>
A samozrejme, na adresu wp-content/themes/vaša téma/images treba vložiť obrázky nazvané 1.jpg, 2.jpg….99.jpg. Ak ich bude menej, nevadí. Vzorový kód som testoval nasadený v header.php
. Upozorňujem, že nasednie kódu malo subjektívne negatívny vplyv na rýchlosť načítania stránky.
no je to obycajne injektovanie php skriptu do sablony :-)
dalo by sa to vyriesit aj tak, ze by ti nacitaval obrazky z fotogalerie. Ak mas fotogaleriu urobenu tak, ze ma fotky v nejakej zlozke, tak ten skript sa rozsiri o nacitavanie tejto zlozky a mozes nahodne sypat obrazky. Samozrejme problem je s roznymi rozmermi fotiek. Ak si pamatas v tej tvojej prvej sablone, ktoru sme patlali, som ti dal taky plugin z coppermine, ten robil viacmenej to iste :-)
hej, na tvoj prinos pre upravu mojej sablony si dodnes pamatam:) Aj na hanlive slova, ked som prave nerozumel tvojmu vykladu :)
Ale nie, mas pravdu. Len ja nepotrebujem radu tipu „da sa to spravit skriptom“. Ja potrebujem riesenie, ktore nahodim a pojde to:)
Práve riešim niečo podobné. Zobrazovanie náhodného obrázka z nastaveného zoznamu a k tomu aj link mimo web. A nič poriadne neviem nájsť.