WordPress møter flickr

Både wordpress (WP) of flickr har etter hvert blitt både populære og hyppig brukte systemer for å publisere henholdsvis tekster og bilder på nett. I denne posten beskriver jeg en metode for å hente bilder fra flickr, automatisk over i din wordpressblogg fra flickr.
For å kunne gjennomføre dette systemet trenger du en flickrkonto, en WP-installasjon på egen server med FTP tilgang og en minimal forståelse av php/html.

Metoden baserer seg på kode fra Satelliteâ„¢ 1.0, som er et ”program” som lar deg lage en porteføljeside med dine bilder fra flickr. Dette programmet er basert på UDTs (user defined functions, altså brukerdefinerte funksjoner) i PHP, som henter ut bilder, tagger osv fra flickr.com, via flickrs delvis åpne API. Om dette ble for nerdete, her er en røffly framgangsmåte:

  1. Lag en testfolder der du setter opp Satellite. Følg instruksjoner her (.pdf), og sørg for at dette funker før du begynner med wordpress. Dette gjør du for å forenkle prosessen, det er lettere å gjøre en ting av gangen..
    Når du har fått Satellite opp å gå, kan du hive deg over WP.
  2. Du trenger å kjøre PHPkode i poster eller sider (pages) i WP, for dette trenger du en plugin, som runPHP. Installer denne og legg merke til at du nå får muligheten til å huke av en checkboks når du lager (eller redigerer) poster og sider. Ved å huke av denne checkboksen så tillater du at PHPkode kjører i posten eller siden.
  3. Lage en plugin av Satellites brukerdefinerte funksjoner.
    Åpne filen ”preferences.php” som ligger i /setUp/ folderen i Satellitesystemet. Det er denne filen som inneholder de funksjoner du trenger, og det er også denne som kobler seg til, og autentiserer deg mot flickr.
    Kopier denne filen over i /wp-content/plugins/ folderen i WP systemet. Så lenge du fikk Satellite til å kjøre i en separat folder, så vil innstillingene fungere også i WP. For at denne filen skal fungere som en plugin, og la seg aktivere via kontrollpanelet i /wp-admin/, så må du legge til noen linjer i toppen av dokumentet:


    Jeg endret filnavnet til ”myFlickr.php” for å seinere huske hva denne pluginen er. Det kan være lurt.
  4. Aktiver denne pluginen via kontrollpanelet ditt i WP
  5. Lag en side (page i WP), husk å hukke av for runPHPstøtte og test en funksjon som henter ut bilder.
    Vil f.eks. hente dine nyeste bilder. Hvor mange setter du (hvis ønskelig) begrensninger på i filen ”myFlickr.php” (som du nettopp jobbet med)

Flere funksjonskall finner du i filene fra Satellite systemet, ting som høres lurt ut, og følger syntaksen ordSomHøresTreffendeUt() er sannsynligvis funksjoner du kan bruke.

PS: Satellite kjører med lightbox-pluginen. Det kan flickr også om du vil. Det finnes egne lightboxplugins for WP. Bruk google.

Hva bildene du henter ut lenker til kan du endre, da du kanskje ikke vil lenke til selve bildefilen (noe Satellite gjør, for så å la lightbox gjøre jobben med å vise bilder over html-sidene), men helller til din flickrprofil med gjeldene bilde?
Denne koden kan du også endre i myFlickr-filen, her er koden jeg bruker:
echo "< a href=\"http://flickr.com/photos/ditt_brukernavn/".$id."\"/ title=\"$id\"><img src=\"http://static.flickr.com/".$server."/".$id."_".$secret."_s.jpg\" height=\"75\" width=\"75\" alt=\"\" class=\"photo\" /></a>";

Eksempel på bruk: http://stavelin.com/blog/foto/
Eksempel på bruk av Satellite aleine: http://stavelin.com/photo/

Skrevet av

Eirik

Poster av denne "forfatteren" er fra min gamle blogger-blog. (men også den jeg stadig er logget inn med..)

7 kommentarer om “WordPress møter flickr”

  1. Takk for et nyttig supertips med en super fremgangsmåte! :D

    Jeg bare lurer pÃ¥ en ting. Jeg Har skrevet inn API-nøkkelen + ID i «preferences.php», men fÃ¥r fremdeles kun vist denne siden; http://rableblokk.com/sitefiles/about.php. Hvorfor dukker ikke bildene fra kontoen min opp? Hva har jeg glemt/gjort galt?

  2. Marianne:

    Jeg aner egentlig ikke hvorfor det ikke funker hos deg, men jeg ser at det har kommet en ny versjon av Satellite, det er mest sannsynlig greia. Jeg skreiv denne posten i mars 2007, og har egentlig ikke lekt noe med det siden da, men koden jeg kjører bør funke enda (også på din side).

    Her er koden jeg har brukt på stavelin.com/photo
    http://stavelin.com/photo/photo.zip

    Last ned .zip-filen og endre brukernavn (noe ala «25297263@N00» og API key (lang uleselig streng pÃ¥ noen-og-tredve bokstaver & tall).

    Det burde være nok til å få det opp å kjøre. Men da altså med den gamle koden jeg bruker.

  3. Takker og bukker! NÃ¥ har jeg fÃ¥tt Satelite opp Ã¥ kjøre, men sliter fremdeles med Ã¥ fÃ¥ den til Ã¥ fungere i WordPress. Har aktivert myFlickr-pluginen, huket av for for runPHPstøtte, men hva mener du egentlig med «test en funksjon som henter ut bilder» ? *Føler seg dum* Skal det stÃ¥ noe spesielt i selve page’n/sideinnholdet?

  4. Fint at du fikk satellite opp.

    SÃ¥ til funksjonene:
    Hvis du skriver
    < ?php getRecent();?>
    i posten eller siden som du har hukket av for runPHP, så kjøres denne funksjonen. getRecent(); er en funksjon som ligger i pluginen du har laget, som egentlig er det samme som preferences.php i det originale setellite systemet.

    I denne filen finner du andre funksjoner også, som
    < ? $flickr = getSet('72057594142372113'); ?>

    (tallene her er ID’n pÃ¥ mitt sett pÃ¥ flickr fra bergen, du finner disse pÃ¥ flickr ved Ã¥ gÃ¥ inn pÃ¥ settene)

    Flere funksjoner som dette (alle de 50 nyeste, og alle fra settet «bergen») finner du i myFlickr.php. De heter ting som «getSet();» «getStuff();» osv.

    en funksjon i php skrives slik:

    function navnetPaFunksjonen(paramenter){
    // det som skal gjøres.
    // f.eks å hente bilder fra flickr
    }

    Så da er du ute etter navnet på funksjonen navnetPaFunksjonen og slenge med (); for å kjøre den.

    Leit etter slike funksjoner i myFlickr.php, og se hva du har å leke med.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *