Bygg en tidningssajt med Wordpress – del 2
Tips och tricks. 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:
<? get_header(); ?> <div id="frontpage" class="grid_12"> <div id="main-article"> <? if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Main-article') ) : endif; ?> </div> <div id="left-square" class="grid_4 alpha"> <? if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Left-square') ) : endif; ?> </div> <div id="right-square" class="grid_4 omega"> <? if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Right-square') ) : endif; ?> </div> <div id="left-block" class="grid_6 alpha"> <? if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Left-block') ) : endif; ?> </div> <div id="right-block" class="grid_6 omega"> <? if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Right-block') ) : endif; ?> </div> </div> <? get_footer(); ?>
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:

Du får en sida för att administrera din taxonomi:

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: http://www.fokus.se/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 kommentarer
Sjukt hög propellermössefaktor på detta…
Visst är det!
[...] Bygg en tidningssajt med Wordpress – del 2 [...]
[...] Shared Bygg en tidningssajt med Wordpress – del 2. [...]
Hej Jonatan! Jag har en fråga, jag brukar automatisera blogginlägg med wp_insert_post() och sedan använda
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?
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
Grymt! Tack. Den funktionen verkar nog rätt
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?
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.
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?
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.
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.
Verkar som om den kod visas fel i ovan artikel. Ska vara => och inte = i arrayen till register_taxonomy
Så sant Jonas, tack för påpekandet! Klantigt av mig. Nu är det korrigerat.
[...] som tidningen Fokus använder Wordpress. Något som de också har skrivit om bland annat här, här och här. För den som frilansar som skribent, fotograf eller design är det så vitt jag kan [...]
[...] på ett strukturerat sätt gjorde vi egna taxonomier. Jag har tidigare skrivit om det här, men det tål att [...]