webForumDet fria alternativet

Wordpress, använda sig av kategorier och css.

HTML & CSS

8 svar · 1 720 visningar · startad av jofawe

Medlem sedan mars 20062 194 inlägg
Frågan#1

Jag har lite problem med att få till det som jag vill med stylingen av min frontsida. http://www.vaxjovimmel.se/bejbi/wordpress/ (sidan är inte live så dethär är inte nån smygreklam)

Jag vet att man kan använda sig av <?php="php" post_class();="post_class();"> för att hämta upp kategorier ur poster i wordpress, men det jag inte får till är att jag vill kunna styla varje enskild post med olika utseenden, fast bara på förstasidan.

Min förstasida består av en slider och 9 stycken bilder under den.
Där då titeln är själva "beskrivningen" av inlägget.

Min vision är att alla inlägg ur olika kategorier ska ha olika färger på bakgrunden till beskrivningen (den som nu är turkos).

Har hittat en guide, men den funkar bara för själva inlägget.

Hur fan får jag till det?
Nån som förstod min kanske lite korkade beskrivning .. sorry 'bout that, är pedagogisk som en morot ungefär.

Medlem sedan nov. 20016 480 inlägg
#2

Nu sätter väl wp automatiskt klassen home på första sidan, men om inte så lägg in en <?php if( is_front_page() ) echo 'home'; ?> i bodyns class.

Sen borde du ju bara kunna köra:
.home .post-id-xxx { style }

Eller vad post-klasserna heter.

Medlem sedan mars 20062 194 inlägg
#3

Nej, det funkade inte.
Jag tror jag måste ta bort funktioner i themet för att få det att funka... eller iaf om jag förstått det rätt.

Nån annan som har en bättre lösning?

Medlem sedan okt. 2004636 inlägg
#4

http://codex.wordpress.org/The_Loop

http://wpgarage.com/tips/giving-different-styles-to-different-wordpress-categories/

Du kan använda din functions.php och kalla därifrån men för att göra det enkelt så skippa is_home eller is_front_page, lägg in en query eller som wp.codex anvisar - ifsatser - i loopen på din indexsida i stället. Kör sedan koderna som vanligt på de andra sidorna. Fixa till dina visningsegenskaper i stilmallen.

Fler länkar:
http://www.wpbeginner.com/wp-themes/how-to-style-each-wordpress-post-differently/

Googla runt lite så hittar du fler alternativ =)

Medlem sedan mars 20062 194 inlägg
#5

Bra länkar Kaxigt, fast de visar bara hur jag ska göra för att få själva kategorisidan att bli stylead. Inte posten på förstasidan.

Medlem sedan apr. 20003 174 inlägg
#6

Hur skulle detta funka?

Lägg till detta i din functions-fil:

function addCategoriesAsCssClass($PostId, $bolReturnWithClassAttribute = false){
	if(get_the_category($PostId)){
		$cats = array();
		foreach((get_the_category($PostId)) as $category) { 
			array_push($cats, $category->slug);
		}
		if($bolReturnWithClassAttribute){
			return ' class="'. implode(' ', $cats) .'"';			
		} else {
			return implode(' ', $cats);
		}
	}
}

Innuti loopen lägger du till anropet till funktionen ovan, på din <div>, ex.

echo '<div class="boxpost'. addCategoriesAsCssClass($post->ID, false) .'">';

Sedan i din CSS-fil, där du byter ut NAMNETPÅENKATEGORI och NAMNETPÅENANNANKATEGORI till vad din kategori faktiskt heter.

.home .NAMNETPÅENKATEGORI h2 {
	background: pink;
}

.home .NAMNETPÅENANNANKATEGORI h2 {
	background: lime;
}

Har jag förstått dig rätt då? :bire

Medlem sedan okt. 2004636 inlägg
#7

jofawe skrev:

Bra länkar Kaxigt, fast de visar bara hur jag ska göra för att få själva kategorisidan att bli stylead. Inte posten på förstasidan.

Alltså - du kan använda samma princip på din förstasida. :)

http://codex.wordpress.org/The_Loop#Style_Posts_From_Some_Category_Differently

Palle, om du lägger in den funktionen i functions.php, och sedan i själva loopen, så läser WP in detta på alla boxar, i synnerhet om du anger dem med class="boxpost". Du måste då även koppla den till visningsegenskaperna för temats css.

Jag har en sida någonstans bland mina länkar som har koder för just detta och alla koder kallas från functions.php. Smidigt och bra. Ska se om jag hittar sidan.

Medlem sedan mars 20062 194 inlägg
#8

Hittade du nån sida, kaxigt? :)

Medlem sedan apr. 20003 174 inlägg
#9

kaxigt skrev:

Palle, om du lägger in den funktionen i functions.php, och sedan i själva loopen, så läser WP in detta på alla boxar, i synnerhet om du anger dem med class="boxpost". Du måste då även koppla den till visningsegenskaperna för temats css.

Ehum, alltså man anropar funktionen i loopen där man behöver använda den.. inte överallt.

Och klassnamnet "boxpost" kommer från hans egen sida, eftersom boxarna han vill styla har just den klassen.

266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)