Hej. Jag heter Andreas Karlsson och det här är mitt bloggarkiv för kategorin Wordpress.

Jag har just installerat tilläggen Author Slug och Author Slug Field på Wordpress-installationen för Dagens jazz. Varför? För att få snyggare permalänkar för användarsidorna.

Author Slug låter dig ställa in http://example.com/author/author-name/ till att bli t.ex. http://example.com/medarbetare/author-name/. Det är en funktion jag kan tycka borde finnas med som standard i Wordpress; det vore ett snyggt komplement under Inställningar → Permalänkar där man sedan tidigare kan ställa in egna värden för kategoribas och etikettbas.

Author Slug Field lägger till ett fält under Användare → Din profil där man får ställa in den sista delen av permalänken. http://example.com/author/admin/ kan nu ställas in till att exepmelvis bli http://example.com/author/fornamn-efternamn/.

Se exempel på Dagens jazz: http://dagensjazz.se/medarbetare/jimmy-asklund/.

Thematic

Thematic

Nikke Lindqvists varning för Wordpress-temat Thematic uppmärksammades bland annat av Computer Sweden och Tord Daniel Hedengren. Efter att ha träffat Nikke i helgen i samband med WP-Girls och återigen läst varningen bestämde jag mig för att ta en närmare titt på det. Nikke skriver i sitt blogginlägg:

Magnus hade upptäckt att min kategorisida Sökmotoroptimering helt hade försvunnit från Google. Den syntes faktiskt inte över huvud taget på de 1000 första sökträffarna i Google. En stillsam panik utbröt förstås på Fleminggatan och jag började vilt leta anledningar.

Vidare skriver han:

Det visade sig dock att Thematic innehåller i högsta grad oönskad funktionalitet som innebär att man säger åt sökrobotar att inte indexera kategorisidor.

I blogginlägget presenterar han en lösning som innebär att man måste grotta runt en del i temats källkod. Jag har hittat en alternativ lösning som jag anser vara bättre.

  1. Börja med att skapa en mapp för ditt nya tema i wp-content/themes/ och döp den till något lämpligt.

  2. Skapa filen style.css och spara följande information i den:

    /*
    THEME NAME: My child theme for Thematic
    TEMPLATE: thematic
    
    This work, like WordPress, is released under GNU General Public License, version 2 (GPL).
    
    http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
    
    */
    
    @import url('../thematic/style.css');

    TEMPLATE: thematic anger namnet på mappen för temat som vårt nya tema ska ärva av. När filen är sparad så är barnet skapat.

  3. Skapa functions.php och spara följande kod i den:

    <?php
    function childtheme_create_robots() {
    }
    add_filter('thematic_create_robots','childtheme_create_robots');
    ?>

    Med ovanstående kod skriver vi över Thematics thematic_create_robots så att sökrobotarna känner sig välkomna.

Nu ska det bara vara att välja ditt nya tema från admin och Thematics källkod är fortfarande oförändrad.

Geek Girl Meetup

Geek Girl Meetuphur bra är inte det på en skala? I torsdags, i samband med att jag och Erik Pettersson var i Stockholm för Arctic Evening, träffade vi av en slump Thérèse Göterheim och Carina Nydén. De berättade om Geek Girl Meetup, intresset för Wordpress och viljan att lära sig mer. Mötet resulterade i att jag, Erik och Andreas Karman nu ska hjälpa dem att hålla en Wordpress-utbildning. Otroligt roligt!

Det första av tre utbildningstillfällen går av stapeln lördag 25 april någonstans i Stockholm. Antalet deltagare är begränsat till tolv. Vill du vara en av de tolv? Hör av dig till Carina snarast!

Läs även Andreas blogginlägg Är du tjej och vill lära dig mer om Wordpress?.

Under de senaste veckorna har jag från och till arbetat med ett spännande kundprojekt som bygger på Wordpress. En av de specifikationer som angavs för projektet var att sajten ska vara flerspråkig. Efter lite efterforskningar visade det sig att tillägget qTranslate med största sannolikhet var vad vi behövde. Implementeringen var dock inte helt smärtfri…

Det första problemet vi stötte på var att de två tilläggen qTranslate och More Fields inte lekte särskilt bra tillsammans. Något som kanske kan ligga till grund för ett framtida inlägg.

Det andra problemet, som jag valt att kalla för the qTranslate slug bug, innebar att permanentlänkarna skapades på formen http://www.exempel.se/min-sidamy-page. Min första tanke var att ge mig in i källkoden för qTranslate och hitta en lösning där, men det skulle i sådana fall innebära att det hela måste göras om i det fall det kommer en uppdatering på tillägget som inte innehåller en lösning. Istället valde jag att skriva ett enkelt filter som jag placerade i temats functions.php:

<?php
function qtranslate_slug_filter( $post_name ){
    if ( empty($post_name) || ( $post_name == '') ) {
        if ( isset( $_POST['post_title'] ) ) {
            if(function_exists('qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage'))
                $post_name = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($_POST['post_title']);
            else
                $post_name = $_POST['post_title'];
        } else {
            $post_name = '';
        }
    }
    return $post_name;
}
add_filter("pre_post_name", "qtranslate_slug_filter");
?>

Problemet uppstod med Wordpress 2.7.1 och qTranslate 2.3.3, både med och utan andra tillägg aktiverade. Att dömma av Måns Jonassons kommentar på Bloggy verkar det dock inte uppstå för alla – eller?

Knappar kan knappast ta lång tid att infoga, tänkte jag. Det krävdes nämligen inte många inlägg för att jag skulle tröttna på att märka upp anfanger och kapitäler med <span class="anfang"> respektive <span class="caps"> för hand. I wp-includes/js/quicktags.js kan man snabbt och enkelt skapa egna knappar till Wordpress HTML-editor. Sagt och gjort, ovanför koden för fetstilsknappen:

edButtons[edButtons.length] =
new edButton('ed_strong'
,'b'
,'<strong>'
,'</strong>'
,'b'
);

lade jag till följande kod:

edButtons[edButtons.length] =
new edButton('ed_anfang'
,'anfang'
,'<span class="anfang">'
,'</span>'
,'f'
);

edButtons[edButtons.length] =
new edButton('ed_caps'
,'caps'
,'<span class="caps">'
,'</span>'
,'p'
);

och hade med snabbt skapat två knappar som underlättar mitt bloggande. Numera markerar jag bara den bokstav som ska vara anfang eller den text som ska vara i kapitäler och klickar sedan på lämplig knapp (alternativt använder jag mina kortkommandon: Ctrl+F resp. Ctrl+P) för att automatiskt  omsluta min markering med <span class="anfang">A</span> eller <span class="caps">nfang och kapitäler</span>.

Nya knappar: anfang och caps

Nya knappar: anfang och caps

Vad betyder då kodsnuttarna? Funktionen edButton() ställer så gärna upp och förklarar det för oss:

function edButton(id, display, tagStart, tagEnd, access, open) {
    this.id = id;                // used to name the toolbar button
    this.display = display;        // label on button
    this.tagStart = tagStart;     // open tag
    this.tagEnd = tagEnd;        // close tag
    this.access = access;        // access key
    this.open = open;            // set to -1 if tag does not need to be closed
}

Med access key menas den tangent som tillsammans med Ctrl utgör ett kortkommando för knappen. Guld värt!

Uppdatering: För att få anfanger och kapitäler räcker det inte med ovanstående knapper, du måste även lägga till lämpliga stilmallar för klasserna anfang och caps.