hjw Skrevet 2. mars 2008 Del Skrevet 2. mars 2008 Hei. Jeg har fått til, med litt hjelp, en funksjon (vet ikke om det er helt riktig ord å bruke) som får bakgrunnen på wordpress themet mitt til å endre seg random per session.. Dette er hva jeg har i background.php: <?php session_start(); if(!$_SESSION['background']) $_SESSION['background'] = 'url/portfolio/wp-content/themes/portfolio/background/background' . mt_rand(1, 5). '.jpg'; ?> I header.php har jeg: <?php include("background.php"); ?> og <body background="<?=$_SESSION['background']?>"> Dette fungerer som bare det, men jeg prøver å få det samme til med min css. Er ikke helt siker på hvordan jeg skal gjøre det.. Har prøvd litt forskjellig uten resultater.. Det jeg vil ha er random backgrounds og link colours slik at man aldri helt vet hvilken kombinasjon man får. Dette skal også være per session. Jeg har allerede fått til bakgrunnen, så det bør vel ikke være så vanskelig å få til det samme med css'en? Er dette riktig måte å gjøre det på, eller finnes det bedre/smartere metoder? Takk! /Hans Jørgen Lenke til kommentar
trrunde Skrevet 2. mars 2008 Del Skrevet 2. mars 2008 Legg alle css filene i et array, og kjør en random på dem, så skriver du ut linken til den css filen du fikk fra random saken Lenke til kommentar
hjw Skrevet 2. mars 2008 Forfatter Del Skrevet 2. mars 2008 Hmm.. Er ny på dette så vet ikke helt hvordan jeg skal gjøre det, men skjønner hva du mener. Kan man ikke gjøre det med mt_rand, som jeg har gjort med bakgrunnen? Hvis jeg lager en fil som heter css.php, legger inn: <?php session_start(); if(!$_SESSION['randcss']) $_SESSION['randcss'] = 'url/portfolio/wp-content/themes/portfolio/randcss/randcss' . mt_rand(1, 3). '.css'; ?> Så legger jeg inn randcss1.css, randcss2.css, randcss3.css i en mappe jeg kaller randcss. <?php include("css.php"); ?> legger jeg øverst i min header.php men hva skal jeg gjøre med $_SESSION['css']? Hvordan får jeg linket opp cssen? Lenke til kommentar
trrunde Skrevet 2. mars 2008 Del Skrevet 2. mars 2008 er ikke helt sikker på oppbyggingen av wordpress, men i en av php filene (sikkert index.php) står det en linje som skriver ut linken til css filen. Den ser typisk slik ut: <link rel="stylesheet" type="text/css" media="screen" href="css/style.css" /> så hvis du da har en fil som heter style1.css style2.css osv må du legge disse filene i et array. f.eks slik $cssfiler=array("css/style.css", "css/style1.css") osv Så må du lage en funksjon som henter ut en random ting fra dette arrayet ditt. $randcss=array_rand($cssfiler) Etterpå må du bytte ut linjen der du skriver ut <link rel="stylesheet" type="text/css" media="screen" href="css/style.css" /> til noe slik: echo "<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"$randcss\" />" PS: dette er ikke testet, bare slik jeg tenker meg at det må bli Lenke til kommentar
hjw Skrevet 2. mars 2008 Forfatter Del Skrevet 2. mars 2008 Ok.. Takk for svar! Men endres da cssen hver gang man oppdaterer eller går inn på en post? Det vil jeg ikke.. det er derfor jeg bruker den andre metoden på bakgrunnen.. er du helt sikker på at jeg ikke kan bruke samme metode på cssen også? Lenke til kommentar
trrunde Skrevet 2. mars 2008 Del Skrevet 2. mars 2008 Da kan du jo ha en session variabel som blir satt ja. f.eks $_SESSION['cssfil']; så må du lage en if setning før du skriver ut linken til css filen if(isset($_SESSION['cssfil'])){ $randcss=$_SESSION['cssfil']; } echo "<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"$randcss\" />" Så må du jo selvfølgelig huske å sette $_SESSION['cssfil'] rett etter du har kjørt den array_rand saken. Lenke til kommentar
CruellaDeVille Skrevet 2. mars 2008 Del Skrevet 2. mars 2008 Jeg er supernysgjerrig... Hvorfor vil du at siden din skal være forskjellig hver gang noen besøker den? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå