Bygg en tidningssajt med WordPress – del 2
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(); ?>
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Main-article') ) : endif; ?>
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Left-square') ) : endif; ?>
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Right-square') ) : endif; ?>
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Left-block') ) : endif; ?>
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Right-block') ) : endif; ?>
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: https://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?