Ny version av Dropbox upload form för WordPress

Inställningar för WordPress pluginet Dropbox upload formFör några veckor sen var jag på WordCamp Stockholm. På hacker natten tittade jag över mitt WordPress plugin: Dropbox upload form. Tyvärr så verkade det inte fungera riktigt i WordPress 3.0. Nu kommer jag inte ihåg vad som var trasig men det var nått med php classen jag använde. Dropbox har nu också en egen API. Det hade dom inte när jag gjorde pluginet. Jag tittade lite på vad man kunde göra med API och bestämde mig för att använda det. Det finns en nackdel med den nya API’n om man gör en webbapp, man måste registrera en egen app för att få en API nyckel.

För att skaffa en API nyckel som kan användas till mitt plugin gör man följande.

  • Registrerar en ny Dropbox app
  • Hitta på ett namn och välj webb som platform
  • Kopierar sen app nycklarna, längst ner. Både Key och Secret behövs.
  • Klistrar in Key och Secret i inställningarna för pluginet.
  • Nu ska pluginet fungera som förr fast med Dropbox API

Lite jobbigare installation blir det men efter man satt upp allting så fungerar det bra. Kanske kommer det lite mer funktioner till pluginet snart. Jag hade först en tanke på att lägga till ett val att skicka ut ett mail till valfri adress när en ny fil laddas upp. Nu blev det bara en omskrivning av uppladdnings funktionen så den använder Dropbox API istället för den tidigare hackiga lösningen.

Första dagen på WordCamp Stockholm 2010

Lördagens föreläsningar på WordCamp är nu slut. Bäst idag var Nikke Linqvist som pratade om WordPress och SEO. WordPress är rätt bra på SEO i sitt standardutförande men det finns några saker man kan fixa eller kolla så att ens tema innehåller för att göre det ännu bättre. Bland annat så kan man på etikett sidan lägga till lite unikt innehåll så kan Google gilla den lite bättre. Jag fixade snabbt till två av mina tag sidor. En om WordPress och en om Btrfs som jag rankar rätt bra på (4’e plats 23/10-2010) just för att så få ännu har skrivit om det.

Annat som var intressant var tema ramverket Wonderflux som förhoppningsvis blir en GPL lösning för folk som vill ha nåt liknande Thesis. Eftersom jag gillar GPL och Thesis inte gör det så får dom ingen länk. Alla på WordCamp Stockholm fick en beta kod så vi kan testa och hjälpa till att utveckla Wonderflux vidare. Det ska komma en publik beta senare i år. Jag sprang också på den idag enda Svenska anställda på Automattic, super trevliga Isaac Keyet.

Förväntningar på WordCamp Stockholm 2010

Nu snart är jag på väg till WordCamp Stockholm på Tekniska Museet. WordCamp är konferens om WordPress där WordPress nördar träffas och pratar om WordPress. Natten mellan lördag och söndag blir det kodning för den som vill stanna kvar på museet. Jag ska försöka packa ner en kudde så jag kan ta en liten tupplur på nått undanskymt ställe. Stannar jag kvar över natten (89% tror jag det) så ska jag försöka fixa lite med Dropbox Upload Form pluginet jag gjorde till WordPress. Jag fick lite kod och idéer av en användare på WordPress forumet om saker som jag skulle kunna lägga till. Bland annat så ska man kunna välja att få ett mail när en fil laddas upp. Annars så skulle jag vilja göra ett tema baserat på HTML5-Boilerplate. Men först blir det massa föreläsningar och sessions.

Smart WordPress backup med WP Time Machine

WP Time Machine är ett riktigt smart WordPress backup plugin för WordPress. Det fungerar så att det spar och packar (.zip eller .tar.gz) ihop wp-content mappen och andra filer som behövs för att återställa en WordPress sajt. Men det smarta kommer sen, man kan välja att spara backup filerna till en Dropbox, Amazon S3 eller ftp. Alltså man får en off site backup med bara en knapptryckning. Wp-content folderna innehåller ju alla plugin/themes och uppladdningar så behöver man återställa en installation är det bara att slänga in den i en ny installation av WordPress och köra .sql databas backupen så ska allt fungera igen.

PS: kolla också in mitt Dropbox plugin för WordPress om du vill kunna ladda upp filer till en Dropbox från en WP sida.

Rewrite rules för custom post i WordPress 3.0

Jag har jobbat med ett projekt i WordPress 3.0 där jag använt custom post funktionen. Dvs man kan definiera egna post typer som får en egen editor. Problemet som jag hade var med permalänkarna, för jag ville ha fina länkar tex

url.com/movies/

listade alla poster som var av typen movies.

Jag fick kolla lite på WordPress rewrite funktion som man kan göra egna permalänkar med. Koden som fungerade för mina behov är nedan. Den paginerar, listar alla inlägg som är av post typen movies när jag går till den utl’en och den visar enskilda inlägg av typen movies när jag går till

url.com/movies/the_warriors/

Det här var funktionen jag behövde använda i functions.php.

function movie_rewrite_urls($wp_rewrite) {
  $newrules = array();
  $newrules['movies/?$'] = 'index.php?post_type=movies';
  $newrules['movies/?([A-Za-z0-9-]+)/?$'] = 'index.php?post_type=movies&name=$matches[1]';
  $newrules['movies/page/?([0-9]{1,})/?$'] = 'index.php?post_type=movies&paged=$matches[1]';
  $wp_rewrite->preg_index(1);
  $wp_rewrite->rules = $newrules + $wp_rewrite->rules;
}
add_action('generate_rewrite_rules', 'movie_rewrite_urls');

Liten genomgång av funktionen.

$newrules['movies/?$'] = 'index.php?post_type=movies';

/?$ efter movies sägar att det är en end of line. Dvs url.com/movies/ ska skickas till url.com/index.php?post_type=movies där wordpress tar över och visar en lista med alla post typer av movies karaktär.

$newrules['movies/?([A-Za-z0-9-]+)/?$'] = 'index.php?post_type=movies&name=$matches[1]';

/?([A-Za-z0-9-]+)/?$ efter movies säger till att alla bokstäver, siffror och tecken ska skickas vidare till index.php som tar över och visar inlägget som matchar namnet efter /movies/ ex

url.com/movies/the_warriors/

skickas till

index.php?post_type=movies&name=the_warriors

. Det gör så att enskilda inlägg fungerar.

Den sista rewrite regeln gör så att paginering fungerar. Dvs url.com/movies/page/2/ visar sidan två om man har många movies inlägg.

Givetvis så måste man registrera en custom post av typen movies om det här exemplet ska fungera. Jag har länkat till två sidor som skrivit om custom post i WordPress 3.0 annars fungerar ju en google sökning om man vill ha mera info.

WordPress plugin: Dropbox upload form

Dropbox Upload Form (DUF kanske?) är ett plugin till WordPress som gör det enkelt att infoga ett fil uppladdning formulär på en WordPress sida. När filen sen laddas upp så skickas den till det Dropbox konto man valt. Det går även att välja vilka filändelser man vill att besökare ska kunna ladda upp. En Svensk översättning finns men standard är allt på Engelska. Man kan även ställa in vilken folder i ens Dropbox konto som filen ska laddas upp till. Har man en delad folder med flera Dropbox användare så skickas filen till alla som delar på den katalogen.

En rätt så osexig screen på hur den ser ut med Svensk översättning i Safari.

Kudos
inUse som jag nu jobbar på ska ha tack för att jag fick släppa pluginet under GPL licens. Jaka Jancar ska ha tack för den superba Dropbox php-class som jag använder. Nu använder jag en Dropbox php-class som Tijs Verkoyen har gjort, kolla in alla hans olika php classer.

Skaffa Dropbox
Vill ni vara lite snäll mot mig så använd denna länk när ni signar upp för Dropbox. Så får jag lite extra utrymme.

Saker att göra i helgen

Nu i helgen har jag två ”projekt” jag ska försöka göra klart.

1. Beställa sata-kontroller kort tillsammans med hårddisk. Filserver dator skulle behöva lite mera utrymme och det då måste ett sata kort som helst fungerar i linux och bsd införskaffas. Gärna fyra portars så jag kan installera mera hårddiskar senare. Skulle vara kul och se hur btrfs hanterar en till hårddisk också.

2. Piffa upp min östlund.info sida, kanske en WordPress sida bakom så det blir lätt att uppdatera. Inte så där svårt just nu när sidan består av några rader kod. Men jag skulle vilja visa mitt senaste blogg och twitter inlägg kanske även de fyra senaste flickr fotona också. Får undersöka lite men borde inte vara så svårt att sätta upp. Jag har hittat några WordPress theman som skulle kunna gå att använda som grund.

Bygg om WordPress permalänkar

Jag ska konvertera en typepad.com blogg till en WordPress blogg snart så jag har kollar runt lite på olika sätt att samtidig göra den nya bloggen lite bättre. Efter att ha läst lite SEO tips för wordpress så var en tanke att göra om permalänkarna så att det inte står (i mitt fall) http://myworld.se​/archives​/2003​/11​/14​/vara-eller-inte-vara​/ utan bara http://myworld.se​/vara-eller-inte-vara​/, alltså bort med /archives/ och datum i länkarna. Lite snyggare länkar och lättare att komma ihåg.

Så här ser mina permalänkar utMen hur fixar man det snyggt i WordPress då? Det finns ju ett plugin till allt i WordPress och att göra redirects är inget undantag. Installera pluginet Redirection från Urban Giraffe och aktivera det. Sen gå in i WordPress -> Inställningar -> Permalänkar och ändra där hur du vill att länkarna ska synas. Mina syns på bilden här bredvid. /%postname%/ taggen gör så att mina länkar blir http://myworld.se/namnet-pa-posten/ och så vill jag ha.

När det är installerat så gå till Verktyg -> Redirection. Där ska vi ställa in så att WordPress tar bort /archivers/år/månad/dag/ i URI’n och samtidigt skickar besökaren till den nya URI’n. Bilden visar hur mina redirects ser ut. Vi gör det för att söker man på Google eller har många inlänkningar så kan den gamla URI’n användas. Med en 301 redirect så fattar Googles robotar att den gamla sidan har flyttat till den nya platsen, och kommer förhoppningsvis att sedan visa den nya URI’n.
Mina 301 redirects

  • Title: Namn för att beskriva vad omlänkningen gör
  • Source URL: är vad som fångas upp i en länk. För mig så fångas /archives​/2003​/11​/14​/ upp med /archives/ och sen (\d*)/ för bara siffror, alltså år sen (\d*)/ igen för månad och sist (\d*)/ igen för dag och den sista (.*) tar all form av text/siffror eller postens rubrik
  • Target URL: vad av den gamla URI’n som ska skickas till den ny URI’n. /$4 tror jag står för det som är efter den fjärde / i URI’n.
  • HTTP Code: ska vara en 301 så Googles robotar vet att det är en permanent flytt av adressen
  • Regex: Syns inte på bilden men den ska vara kryssad

Gär en sådan för både etikettbasen och kategoribas som du ändrat i WordPress -> Inställningar -> Permalänkar. Nedan är en sökning på Google där min gamla URI syns.
Sökning på Google

Men trycker jag på länken kommer jag till:
Länkar till rätt inlägg

Update: Jag hade en mail konversation med en läsare som ville ha lite mera kontroll över sina permalänkar och denna regex fungerade för han. /blog/(\d*)/(\d*)/([A-Za-z0-9-]+)