Tillbaka

Infoga Flattr automatiskt i WordPress

Kategori: Webbutveckling. Arkivlänk | Skrivet av Kal 11 Feb

Peter Sunde Kolmisoppi och Linus Olsson har skapat en tjänst för att, som de säger, förenkla betalproblematiken på nätet idag.

Tjänsten handlar om att hitta ett sätt att betala innehållsproducenter för det jobb de lägger ner utan att de behöver ha stora betalningslösningar för det.

Tjänsten fungerar så att jag använder en viss summa pengar per månad från mitt Flattr-konto och delar ut dem till det innehåll jag väljer att dela med mig till. Om mitt konto är satt till att använda €10 per månad och jag klickat på 10 Flattr-länkar under den månaden kommer varje innehållsproducent betalas €1 i slutet av månaden.

Det fungerar med hjälp av en Digg-liknande knapp, antingen genom Flattr:s webbplats eller med en Flattr-knapp vid innehållskällan.

Flattr beskriver tjänsten genom en liten animerad film:

Antingen kan man infoga knappen manuellt på webbplatsen varje gång eller så kan man använda deras API och javascript för att automatiskt lägga till sitt innehåll till Flattr.

Javascriptetlösningen beskrivs på webbplatsen och det är ganska enkla parametrar för att få det att fungera:

<script type="text/javascript">
    var flattr_uid = "ditt flattr-id";
    var flattr_tle = "innehÃ¥llets namn";
    var flattr_dsc = "en tydlig beskrivning av innehÃ¥llet";
    var flattr_cat = "typ av innehÃ¥ll";
    var flattr_tag = "kommaseparerad etikett-lista";
    var flattr_url = "innehÃ¥llets permalänk";
</script>
<script src="http://flattr.com/api/flattr.js" type="text/javascript"></script>

Om du använder WordPress kan du förenkla processen ännu mer genom att lägga till javascriptet i mallarna och använda WordPress-funktioner för att fylla i den information Flattr vill ha automatiskt.


<script type="text/javascript">
    var flattr_uid = "ditt flattr-id";
    var flattr_tle = "<?php the_title_rss(); ?>";
    var flattr_dsc = "<?php the_content_rss('', FALSE, '', 10); ?>";
    var flattr_cat = "text";
    var flattr_url = "<?php the_permalink() ?>";
<script src="http://flattr.com/api/flattr.js" type="text/javascript"></script>

Resultatet blir då:

Vad vill man ha från en plugin?

Det här kunde förenklas ytterligare om en plugin skapas för ändamålet. Jag tror framför allt det är tre delar som behövs från en plugin:

  1. En funktion som infogar ovanstående automatiskt i anslutning till the_content
  2. En admin-funktion där typ av innehåll kan specificeras per post/sida
  3. Ett tillägg till användaren där Flattr-användar-ID kan specificeras, så en flerskribentsblogg enkelt kan använda Flattr

Bokmärk / Dela

20 kommentarer till “Infoga Flattr automatiskt i WordPress”

  1. fredrik skriver:

    Ursäkta en n00b, men hur gör man om man bloggar från wordpress.com?

  2. Kal skriver:

    Det finns tyvärr inget enkelt sätt att göra det på wordpress.com eftersom de inte tillåter att man redigerar sina mallar.

    Ditt alternativ är att skapa en widget, men jag är inte helt säker på att widgets tillåter script. Pröva.

  3. fredrik skriver:

    Har testat men får det inte att fungera. Konstigt då jag lyckas lägga in annan kod. Men den kanske måste skriva spå ett visst sätt.

  4. Kal skriver:

    Du kan använda php-kod i en widget. Så antingen infogar du permalänken med javascript eller så får du ha en flattr-knapp för hela din sajt.

  5. fredrik skriver:

    En knapp för hela sajten hade varit helt ok. Kan också tänka mig att infoga manuellt i varje inlägg. Problemet är att jag inte får någotdera att funka.

  6. Tore skriver:

    Jag får det inte riktigt att fungera, jag får bara ett utropstecken i flatter-ikonen. Behöver jag ändra något i mitt flattr-konto?

    Jag kör en ganska gammal version av wordpress, kan det spela roll?

    Har flattrat ditt inlägg också =)

  7. [...] den här bloggposten vidareutvecklar jag lite hur man gör för att lägga in flattr på sin [...]

  8. [...] bloggar om Flattr: thejennie, Opassande, J.Nyström Design, Hur man infogar Flattr i WordPress Posted by Tor M Filed in Upphovsrätt, Övrigt Tags: Flattr, Linus Olsson, Peter Sunde Leave [...]

  9. Hjalmar skriver:

    Det är en bugg i koden som gör att javascriptet pajar när den skriver ut the_excerpt eftersom WP kräks ur sig multipla rader ibland.

    Den funktionen måste alltså tas bort, ändras eller så får man modifiera WP till att stoppa in flattr-knappen i själva posten via ett filter.

  10. @fredrik och @tore: Knappen klarar inte av att det kommer html-taggar med. Jag löste det genom att lägga in en liten snutt innan.


    och sen ersätta the_excerpt(); med echo $newExcerpt.
    Taggarna har jag fortfarande inte fått att funka, men det tror jag har att göra med att wordpress har ett fel i get_the_tags();. Ska kolla om jag kan skruva ihop något idag i plugin-väg.

  11. Hjalmar skriver:


    function no_lr($a) { return preg_replace("/[\r\n]+/","",$a); }
    add_filter('the_excerpt','no_lr');

    Överst i index + single.php löser biffen. Gud vet vad det gör för resten av sidan dock…

  12. och uppenbarligen funkar det inte att lägga in kod….
    Snutten innan ska vara wrappad i php-taggar, oki?

    $excerpt = get_the_excerpt();
    $newExcerpt = strip_tags($excerpt);

    Ersättt sedan the_excerpt(); med echo $newExcerpt. i javascriptet.

  13. Kal skriver:

    fredrik: Jag tittade på kod-dokumentationen för wordpress.com och det var som jag misstänkte, man får inte använda script-taggen alls. Vilket gör det omöjligt att få flattr att funka. Du kan förstås mata in din sajt manuellt, men du kan inte få en flattr-knapp på sajten.

    Tore: I’m flattred.

    Jag hade slarvat och testat för lite (API:et är inte helt dokumenterat ännu heller).

    Flattr buggar ur om man har för långt beskrivningar. Därför har jag uppdaterat koden med the_content_rss och parametrar istället. (Alternativet är att du skriver om funktionen med functions.php att det ska vara färre ord som max i the_excerpt.)

    För säkerhets skull har jag även filtrerat bort eventuell kod (och använt _rss-funktionerna istället för vanliga the_content och the_title).

    Och så tog jag bort the_tags för den funktionen måste också göras om för att den ska funka (annars får man ut a-taggar för varje etikett och det är ju inte det vi vill här).

    Hjalmar och Johan: Hade inte sett era kommentarer i moderationskön. Jag har uppdaterat koden för att komma runt det där som ni ser.

  14. Olof skriver:

    Jag får ett radbryt i början av flattr_dsc när jag använder din _rss-funktion. Nån lösning på det?

    Tags-funktionen funkar fint om du istället använder

    var flattr_tag = "name . ', ';
    }
    }
    ?>";

  15. Olof skriver:

    Ledsen för spammet. Hur skriver man kodexempel i kommentarerna?
    [code]
    var flattr_tag = "name . ', ';
    }
    }
    ?>";
    [/code]
    kanske?

  16. Kal skriver:

    Du behöver byta ut < mot &lt; och > mot &gt;.

  17. Olof skriver:

    @kal: Tackar. Ok dÃ¥ försöker vi igen. För att skicka med era tags frÃ¥n WP när ni autosubmittar sÃ¥ lägg till, mellan ”var flattr_url = ”<?php the_permalink() ?>”;” och ”</script>”, följande:

    var flattr_tag = ”<?php
    $posttags = get_the_tags();
    if ($posttags) {
    foreach($posttags as $tag) {
    echo $tag->name . ‘, ‘;
    }
    }
    ?>”;

  18. Kal skriver:

    Olof: Fick inte din kod att fungera riktigt som det ska.

    Och pluginen känns lite vek. Gillar inte plugins som inte använder WP riktigt, då blir de bara en tyngd i installationen. Bättre kan de.

  19. Olof skriver:

    Koden funkade fint för mig. Kanske kopierade du den med â€? istället för ”? Det blir lätt sÃ¥. BÃ¥de enkelt och dubbelt citationstecken formateras om.

    Pluginen funkar iaf fint för mig. Hyfsat enkelt, även om jag nog tycker funktionerna borde byta namn. Perma för det permanenta innehållet och Dyn för det dynamiska =).

Lämna en kommentar