Skapa konto

Skapa konto
Förnamn är ogiltigt
Efternamn är ogiltigt
Lösenord är inkorrekt
Lösenord och bekräftat lösenord stämmer inte överens

Du måste godkänna användarvillkoren
fokustema1 Redaktionsbloggen

Bygg en tidningssajt med WordPress – del 2

I denna andra del i serien om Wordpress för tidningssajter förklaras två av Fokustemas viktigaste features.

Det är främst två saker som skiljer Fokustema från andra WordPress-teman. Och det är de två saker jag får flest frågor om. Så nu tänkte jag berätta om hur Fokustema gör för att 1) kontrollera förstasidan och 2) bläddra i nummer.

I WordPress widgetspanel kan man enkelt kontrollera vad som ligger i sidebaren. Så varför inte göra hela förstasidan till bestående av sidebars? På så sätt kan du styra vad som dyker upp på förstasidan genom att dra och släppa olika widgets till olika sidebars.

Vår favoritwidget heter Query-posts och används till att plocka ut inlägg från databasen. Den är en aning tweakad för att passa bättre in i Fokustema, och den tweakade varianten kommer släppas tillsammans med övriga temat. Nu till det praktiska.

Sidebars överallt!

Definiera sidebars i ditt temas functions.php:

if ( function_exists('register_sidebar') )
	$zones = array(
		$sidebar = array('name'=>'Sidebar'),
		$main_article = array('name'=>'Main-article'),
		$left_square = array('name'=>'Left-square'),
		$right_square = array('name'=>'Right-square'),
		$left_block = array('name'=>'Left-block'),
		$right_block = array('name'=>'Right-block'),
	foreach($zones as $zone) {register_sidebar($zone);}

Vad som händer där är att ett antal sidebars skapas. Men bara för att de kallas sidebars behöver de inte ligga vid hemsidans högersida. I ditt temas index.php, själva ingången till sidan kan du strössla ut dina sidebars efter behag. Typ såhär ser Fokustemas indexfil ut:



Klasserna som heter "grid_6" och så vidare kommer från det eminenta ramverket 960.gs, som hjälper dig att hålla sidebarsen (sidebarsarna?) på plats medelst vanlig css.

Det var allt. Nu kan du dra och släppa vilka widgets som helst till olika ställen på din förstasida. Bra va!

Mer om widgets, ännu mer om widgets och mer om sidebars.

Egna taxonomier

Ett av WordPress mest underanvända områden är taxonomier. Jag vet, för jag har själv underanvänt det alldeles för länge. En taxonomi är enkelt uttryckt ett sätt att organisera saker. I det här fallet innehåll på en hemsida.

WordPress har två inbyggda taxonomier, kategorier och ettiketter. Men det är också förberett för att skapa egna taxonomier. Typ såhär har Fokustema berikats med taxonomin »Nummer«.

// Kör funktionen "my_taxonomies" när WordPress startar

add_action( 'init', 'my_taxonomies', 0 );

// Definiera funktionen "my_taxonomies"

function my_taxonomies() {
	register_taxonomy(
		'nummer', // Namnet på taxonomin
		'post', // Vad taxonomin ska appliceras på
		array(
			'hierarchical' => false, // Om taxonomin är hierakisk
			'label' => 'Nummer', // Namnet igen
			'query_var' => true, // Om man ska anropa databasen med taxonomin
			'rewrite' => true ) // Om man ska ha snygga urler
		);
}

Nu händer några saker av sig självt i WordPress. Du får en ny panel i inläggsredigeringen:
nummer1
Du får en sida för att administrera din taxonomi:
nummer2
Du får en massa template-taggar för att jobba med din taxonomi i php:

$issues = wp_tag_cloud(
array('taxonomy' => 'nummer',
'echo' => 0,
'order' => 'DESC',
'number' => 0,
'format' => 'array')
);

Denna gör till exempel ett etikettmoln fast med nummer istället för vanliga etiketter. Observera att 'taxonomi' är satt till 'nummer'.

Och bäst av allt, prydliga adresser som: /nummer/2009-48/.

Allt detta och mycket mer finns inbyggt i Fokustema. Så om du inte pallar att bygga det själv är det bara att hålla ut tills det kommande släppet.

Frågor, förslag, förbättringar, förklaringar?

17 thoughts on “Bygg en tidningssajt med WordPress – del 2

  1. Jonas Lejon skriver:

    Verkar som om den kod visas fel i ovan artikel. Ska vara => och inte = i arrayen till register_taxonomy

    1. Jonatan Fried skriver:

      Så sant Jonas, tack för påpekandet! Klantigt av mig. Nu är det korrigerat.

  2. Måns Jonasson skriver:

    Fruktansvärt läsvärt och bra inlägg. Jag har längtat efter en ordentlig community med forum för svenska WP-utvecklare – kan inte du starta en? 🙂

    1. Jonatan Fried skriver:

      Tack för peppen Måns! Vi är nog många som är sugna på en svensk wordpress-hub.

      http://wp-support.se/ gör ju ett väldigt bra jobb med att samla svenska worpress-resurser, men det vore kul med fler tutorials.

      1. Måns Jonasson skriver:

        Ja, wp-support.se är jättebra, men jag saknar utvecklarfokuset. Jag har föreslagit ett renodlat utvecklarforum på wp-support.se men fick inget gehör för det.

        På WP-camp i Stockholm i vår får vi försöka se hur stort intresset är för en mer teknisk diskussion kring WP.

  3. Tobias skriver:

    Hej Jonatan! Tack för grymma tips! Lite nyfiken på en sak, inte säker på om du tänkt i samma banor men frågar ändå.

    Ofta i WordPressutveckling kommer jag tillbaka till följande ”problem”: relationer mellan poster. Säg man skulle vilja att ”Nummer 2007-28” var en post istället för en ”kategori” exempelvis?

    Idag använder jag antingen en lösning som Microkids related posts (nedan) eller egentillverkade plugins.

    http://wordpress.org/extend/plugins/microkids-related-posts/

    Har du tänkt eller sätt lösningar i den här riktningen?

    1. Jonatan Fried skriver:

      Hej Tobias! Jag har testat några olika saker i den riktningen men alltid landat i att en uppstyrd etikettering är det bästa sättet att relatera inlägg till varandra. Men visst vill man ibland relatera inlägg mer specifikt än så.

      Vi har löst detta dels med ”tema”-taxonomin, dels med ”mer ur reportaget”-länkar. Båda metoderna kan du se här.

      Jag föredrar helt klart taxonomi framför länkar eftersom det är mer semantiskt och flexibelt.

      Men någon typ av related-posts-plugin kan nog också fungera väldigt bra.

  4. Jonas Lejon skriver:

    Oj, råkade trycka på skicka kommentar. Och sedan använda add_post_meta() för att lägga till övrig information om inlägget. Men hur använder jag taxonomies istället?

    1. Jonatan Fried skriver:

      Har inte testat själv, men den här ser ut att kunna göra det du vill: http://codex.wordpress.org/Function_Reference/wp_set_object_terms

      1. Jonas Lejon skriver:

        Grymt! Tack. Den funktionen verkar nog rätt

  5. Jonas Lejon skriver:

    Hej Jonatan! Jag har en fråga, jag brukar automatisera blogginlägg med wp_insert_post() och sedan använda

  6. Jonas Morian skriver:

    Sjukt hög propellermössefaktor på detta…

Kommentarer är avstängda.

Blogg: Johan Hakelius
KrönikaInrikes/utrikes
Prenumerera