Infoga Flattr automatiskt i WordPress
Kategori: Webbutveckling. Arkivlänk | Skrivet av Kal 11 FebPeter 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:
- En funktion som infogar ovanstående automatiskt i anslutning till
the_content - En admin-funktion där typ av innehåll kan specificeras per post/sida
- Ett tillägg till användaren där Flattr-användar-ID kan specificeras, så en flerskribentsblogg enkelt kan använda Flattr


Ursäkta en n00b, men hur gör man om man bloggar från wordpress.com?
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.
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.
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.
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.
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å =)
[...] den här bloggposten vidareutvecklar jag lite hur man gör för att lägga in flattr på sin [...]
[...] 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 [...]
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.
@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.
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…
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.
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_rssoch parametrar istället. (Alternativet är att du skriver om funktionen med functions.php att det ska vara färre ord som max ithe_excerpt.)För säkerhets skull har jag även filtrerat bort eventuell kod (och använt
_rss-funktionerna istället för vanligathe_contentochthe_title).Och så tog jag bort
the_tagsför den funktionen måste också göras om för att den ska funka (annars får man uta-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.
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 . ', ';
}
}
?>";
Ledsen för spammet. Hur skriver man kodexempel i kommentarerna?
[code]
var flattr_tag = "name . ', ';
}
}
?>";
[/code]
kanske?
Du behöver byta ut < mot < och > mot >.
@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 . ‘, ‘;
}
}
?>”;
Nu finns det en plugin: http://flattr.com/api/WP-Flattr.tgz
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.
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 =).