De fleste er tilmeldt en del online-tjenester rundt på nettet og næsten alle giver mulighed for, at du kan uploade et profilbillede. Der har altid været nogle, der straks så mulighederne i sådan et billede, mens flertallet har været ligeglade eller hysterisk bange for at “vise” sig selv på nettet. Facebook har dog ændret på det. Det er faktisk forbavsende få, som ikke har et profilbillede på Facebook. Et billede af dem selv, vel at mærke. Og da Facebook har har slået alle andre af den slags tjenester med flere længder og derved sætter standarden, må man gå ud fra at profilbilleder ikke længere er så farlige.
Kategori: WordPress
Jeg har arbejdet med og brugt WordPress siden 2005. Anvendt det til alle mulige projekter og selvfølgelig også til denne blog. Jeg oversætter også kernekoden WordPress til dansk, samt temaer og plugins. Jeg skriver derfor, fra tid til anden, om WordPress og dets muligheder og udvikling.
WordPress 2.5 Meetup
Ja, så gik jeg glip af Meetup igen. Det er lidt problematisk med de søndage, når jeg nu har weekendarbejde. Jeg er dog sikker på, at alle andre hygger sig gevaldigt, mens jeg sidder her i Vesterbro Kulturhus.
Jeg ville ellers gerne have gået i gruppe med nogen, der ville kikke på den nye gallerifunktion. Der er et par ting, jeg godt vil have endnu bedre styr.
Jeg sender de bedste tanker til de andre på Meetup. Nerd away!
WordPress Meetup – spredte betragtninger
Så blev første WordPress Meetup afviklet. Jeg var, naturligvis, med og fik hilst på andre WordPress’ere og talt om tags, themes og installationer.
Med en friskprintet ruteplan i lommen hoppede jeg på cyklen og ræsede ud mod Christianshavn. Min ruteplan havde godtnok fundet den korteste vej, men vist ikke den mest cykelvenlige. Den havde fundet samtlige brostenbelagte vejstykker på ruten, så først ca. 11:15 havde jeg fået bumlet mig frem til adressen.
Indenfor var der laptops, laptops og laptops og intet dagsprogram som sådan, hvilket var aftalen. Så det var bare med at hilse på de forskellige. Ud af øjenkrogen så jeg nogen var inde på gazel.dk, og så lå det jo lige for at præsentere sig og sige “det er min side, du der er inde på”, og så gik det slag i slag derfra. Jeg fik talt med Jesper Madsen og hjulpet ham med at opgradere fra (gulp!) WP 1.5.2 til 2.1.2 og med at lave permalinks. Fra Thomas Silkjær fik jeg talt themes og fik endelig fundet ud af, at det seje image popup-værktøj som alle bruger hedder lightbox. Tak for det.
Det var også rart endelig at møde Mr. WPDK, René, in person og benyttede lejligheden til at få indblik i de tekniske detaljer vedrørende den danske oversættelse. Det er ikke så lige til, som det ser ud, og det havde jeg heller ikke regnet med, så thumbs up til René herfra for at løse opgaven med bravour og være så sindssygt hurtig, når der kommer opdateringer.
Alt i alt en fin måde at bruge en søndag eftermiddag og jeg ser frem til næste Meetup – hvor jeg forhåbentligt selv har en laptop. Et must til den slags arrangementer.
Og jeg skal da ikke glemme at takke Mads og Jubii for at lægge lokaler til, samt de, der tog billeder, når jeg nu selv, på vanlig utjekkede vis, endnu engang havde glemt at medbringe mit kamera.
Sider og undersider
På en del af de WordPress-installationer jeg har lavet indtil nu, har der været mere behov for statiske sider end for blogs. WordPress bliver derved brugt som Content Management System mere end en blogging platform. Det har afstedkommet et ønske om noget funktionalitet, hvor hovedsider og undersider opfører sig, som de typisk gør, på de fleste websteder. Der kan f.eks. være en horisontal menu, hvor oversiderne er, og når de klikkes dukker undersiderne op i sidebar’en. Klikker du på en anden overside, så dukker dens undersider op i sidebar’en osv. Det kan WordPress ikke som udgangpunkt, og jeg har ikke kunnet finde et plugin, der giver siderne den funktionalitet.
Jeg har dog fundet ud af et par metoder. Den første jeg fandt på var simpelthen at lave en skabelon (template) for hver overside med hver sin unikke sidebar, der listede undersiderne med en standard wp_list_pages(child_of=oversidens ID). Det virker, men er unægteligt en smule bøvlet, da du skal oprette en ny skabelon for hver gang du laver en ny overside.
Senere opdagede jeg en mere elegant løsning. Det er at låne lidt kode fra K2-skabelonen. Den har simpelthen en undersidefunktion indbygget i sin sidebar, der gør præcist det, jeg har beskrevet ovenfor. Koden er som følger:
<?php /* Menu for subpages of current page */
global $notfound;
if (is_page() and ($notfound != '1')) {
$current_page = $post->ID;
while($current_page) {
$page_query = $wpdb->get_row("SELECT ID, post_title, post_status, post_parent FROM $wpdb->posts WHERE ID = '$current_page'");
$current_page = $page_query->post_parent;
}
$parent_id = $page_query->ID;
$parent_title = $page_query->post_title;
$page_menu = wp_list_pages('echo=0&sort_column=menu_order&title_li=&child_of='. $parent_id);
if ($page_menu) {
?>
<div class="sb-pagemenu">
<h2><?php echo $parent_title; ?> <?php _e('Subpages','k2_domain'); ?></h2>
<ul>
<?php echo $page_menu; ?>
</ul>
<?php if ($parent_id != $post->ID) { ?>
<a href="<?php echo get_permalink($parent_id); ?>"><?php printf(__('Back to %s','k2_domain'), $parent_title ) ?></a>
<?php } ?>
</div>
<?php } } ?>
<?php if (is_attachment()) { ?>
<div class="sb-pagemenu">
<a href="<?php echo get_permalink($post->post_parent); ?>" rev="attachment"><?php printf(__('Back to \'%s\'','k2_domain'), get_the_title($post->post_parent) ) ?></a>
</div>
<?php } ?>
OBS! Husk at snuppe koden fra den seneste udgave af K2 og ikke kopiere den fra denne artikel.
Det ser indviklet ud, men giver det rette resultat. Bemærk at K2’s class (sb-pagemenu) står i koden. Den skal naturligvis ændre til den class, der bruges i dit tema, men ellers kan det bare kopieres ind det rigtige sted i din sidebar. En anden ting, som de fleste (mig selv f.eks.) er interesseret i er, at linket til oversiden har en tilstand, hvor den “lyser”, har en anden farve eller på anden vis differentierer sig fra de andre links. De vil sige, at det er tydeligt, hvilken overside, du har klikket på. Desværre bliver oversiden “passiv”, når du klikker på en underside og det er ikke længere tydeligt, hvilken overside eller underafdeling af webstedet, du befinder dig i. Det er særligt kikset, hvis dine oversider er stylet som faneblade.
Det kan dog løses med Fold page list plugin’et. Det plugin kan flere ting. Den væsentligste er, at den kan folde undersiderne. Til brug hvis undersiden selv har flere undersider. Har den det, vil disse undersider først folde sig ud, når du klikker på en side et skridt længere oppe i sidehierarkiet. Normalt vil WordPress liste alle sider således:
underside1
- underside2
- underside3
Underside 2 og 3 vil med Fold page list plugin’et først folde sig ud, når der klikkes på underside 1. Alene det er ret smart. Derudover kan du i skabelonens styles.css tildele egenskaber til linkene til dine undersider og dine oversider, når plugin’et er i brug.
Der sker nemlig det som standard i WordPress, at der bliver tildelt nogle class’ til dine sider. Et link til en side får class’en “page_item”. Den aktive side får class’en “current_page_item”. Du kan se det ved at vælge “vis kilde” i din browser. Disse to kan styles, som du lyster, og på den måde tydeliggøre, hvilke sider der er aktive og passive. Men, som nævnt, er oversider ikke længere aktive, når du har klikket på en underside. Det har Fold page list løst på den måde, at den genererer en class der hedder “current_page_ancestor”, altså undersidens forfader. Den kan du style på samme måde som “current_page_item” og så burde du opnå den ønskede effekt. Se eksempelvis:
I styles.css bliver egenskaberne for linkene skabt med følgende kode:
#pages a {
background: #3D3D3D;
color: #999999;
font-weight: bold;
margin: 0 3px 0 0;
padding: 6px 10px;
}
#pages a:hover {
background: #fff;
color: #9c4f4f;
}
#pages a:active {
background: #fff;
color: #9c4f4f;
}
.current_page_item a, .current_page_item a:hover {
background: #fff !important;
color: #9c4f4f !important;
font-weight: bold;
}
.current_page_ancestor a, .current_page_ancestor a:hover {
background: #fff !important;
color: #9c4f4f !important;
}
Fanebladene ligger i en div, der hedder “Pages”. Ikke-aktive faner (#pages a) har næsten sort baggrund (#3D3D3D) og teksten er grå (#999999). Når musen føres over en fane (#pages a hover), bliver den hvid og den forbliver hvid, fra linket bliver klikket og indtil næste side dukker op (#pages a:active) og teksten bliver brun (#9c4f4f). Det sidste er ikke strengt nødvendigt, men det giver god mening for “#pages a:active” giver en forsmag på den tilstand linket vil få, når næste side er dannet. Af samme grund har “current_page_item” og “current_page_ancestor” samme tilstand. Dog med den detalje, at “current_page_item” også er fed. Det gør det aktive link i sidebar fed. Det er ikke nødvendigt med ancestor, da de links i forvejen har egenskaben fed.
Jeg håber at min lille vejledning kan bruges af andre. Den kunne være mere udførlig, men det er vigtigt at justere i forhold til det tema du bruger, og det må du selv eksperimentere med.
Polyglot
Jeg vil lige slå et salg for Polyglot-plugin’et. Du bruger det, hvis du vil have indholdet på flere sprog på dit websted. Typisk Dansk og Engelsk, men i princippet kan det være alle sprog. Du kan se plugin’et i aktion på dette websted:
Så hvordan virker det? Du uploader plugin’et og aktiverer det som alle andre plugins. Derefter smider du en stump kode ind et sted i din skabelon. I mit tilfælde smed jeg det ind foroven. Koden genererer flagene og alle verdens flag følger med i en mappe for sig selv. Der er en udmærket vejledning på polyglot-siden. Når du så skriver dit indhold, så skriver du teksten på f.eks. dansk og engelsk og omkranser den med et tag. I dette tilfælde tag’ene <lang_da> og <lang_en>. I indlægsfeltet vil det se således ud:
<lang_da>Denne tekst er på dansk</lang_da>
<lang_en>This text is in english</lang_en>
Et godt fif er, at bruge WP-AddQuicktag plugin’et, og bruge det til at lave en Dansk-knap og en Engelsk-knap i din editor. Så kan du bare markere teksten og trykke på knappen så smider den start og slut tag’et på.
Alt efter, hvilket sprog, der er aktivt, vil den rigtige tekst blive vist. Normalt ville man lave to ens websteder på hvert sit sprog. Når brugeren så klikker på sproget, så starter han forfra på webstedet med det nye sprog. Det blærede ved polyglot-plugin’et er, at du kan skifte frem og tilbage uanset, hvor du befinder dig på webstedet. Og begge sprogtekster bliver redigeret fra det samme sted eller indlæg om du vil. Webredaktøren slipper, med andre ord, for at skulle arbejde med to forskellige sider. Alt i alt den smukkeste løsning på at drive et multilingualt websted, som jeg (endnu) har set.