Wordpress 20.09.2009

WPLastfm

English description

Zugegeben: Plugins, welche die zuletzt gespielten Titel aus dem Last.fm-Profil in Wordpress anzeigen können, gibt es schon fast wie Sand am Meer; und auch mein Plugin kann – zumindest auf den ersten Blick – nicht wesentlich mehr. Allerdings würde ich mir nicht die Arbeit machen und ein weiteres Plugin veröffentlichen, wenn es mit den bereits vorhandenen identisch wäre. So kann man zum einen das Plugin durch Templates/CSS individueller anpassen und es zeigt zudem das aktuell gespielte Lied auch als solches an (Hört gerade). Zusätzlich werden die benötigten Daten auf dem Server zwischengespeichert und nur in einem bestimmten Intervall (Standard ist 45 Sekunden) neu abgefragt, was bspw. die Ladezeit der Seite verkürzt, da nicht bei jedem Aufruf erst der Last.fm-Server kontaktiert werden muss.

Features

  • Als Widget leicht zu integrieren (ab Wordpress 2.8.*)
  • Zeigt an, welches Lied aktuell gespielt wird (Hört gerade)
  • individuell anpassbar (per Template und CSS) → du entscheidest, was angezeigt wird
  • Daten werden auf dem Server zwischengespeichert (Standard: 45 Sekunden)
  • Deutsche und Englische Sprachdatei liegt bei

Download

Voraussetzung

Das Plugin wurde mit Wordpress 2.5.*, 2.6.*, 2.7.* und 2.8.* getestet, die Widget-Funktion ist allerdings erst ab Version 2.8.* verfügbar.
Hinweis: Benötigt PHP 5!

Einbindung

  • als Widget: Im Wordpress Backend unter “Design → Widgets” in die Sidebar ziehen und Benutzernamen und Anzahl der angezeigten Titel eintragen. Zusätzlich lässt sich das Erscheinungsbild per Template verändern.

  • ohne Widget: folgenden PHP-Code in die sidebar.php (im Theme-Ordner) an der gewünschten Stelle einfügen

    <?php wplastfm('username' [, anzahl der titel [, $optionen]]); ?>

    Die Anpassung des Templates wird hierbei entweder in der wplastfm-settings.php vorgenommen, die ebenfalls beiliegt, oder als Array übergeben. Beispiel:

    $options = array("template" => '%track%', "cache" => 45, "trunctrack" => 40, "truncalbum" => 25);

    Beispiel

    <?php
      $options = array("cache" => 120, "trunctrack" => 0, "truncalbum" => 0);
      wplastfm('loeffler', 5, $options);
    ?>

Darstellung

Zusätzlich zum Template stehen auch noch einige CSS-Formatierungen zur Verfügung. Diese können entweder im eigenem Stylesheet oder in der wplastfm.css vorgenommen werden. Wird die wplastfm.css nicht benötigt, kann sie ohne weiteres gelöscht werden.

  • ul.lastfm — die komplette Liste
  • ul.lastfm li — die einzelnen Listenelemente
  • ul.lastfm li a — Last.fm-Link zum Titel
  • ul.lastfm li img — Bild formatierung
  • ul.lastfm li cite — Zeit formatierung
  • ul.lastfm li span.lastfm-album — Album formatierung

Einstellungen

Weiter lassen sich noch folgende Einstellungen vornehmen (entweder in der wplastfm-settings.php editieren oder per Array übergeben):

  • $wplastfm_options['cache']

    Gibt an, wie lange die Daten auf dem Server gespeichert werden sollen, bevor der last.fm Server erneut kontaktiert wird.
    0 = nicht zwischenspeichern (nicht empfohlen)

  • $wplastfm_options['trunctrack'] / $wplastfm_options['truncalbum']

    Hier lässt sich einstellen, nach wie viel Zeichen der Text des Titels bzw. das Albums abgeschnitten wird.
    0 = keine Trennung

  • $wplastfm_options['timeformat']

    Kommt für Titel zum Einsatz, die vor mehr als 12 Stunden gespielt wurden. Für weitere Informationen zur Formatierung, siehe http://php.net/date.

Screenshots

Titel anzeigeWidget ansicht

Changelog

  • Version 1.0.5 (25.11.2009)

    • curl-Fehlermeldung bei PHP 5.3.0 sollte nun nicht mehr auftreten
  • Version 1.0.4 (28.10.2009)

    • Option zur Festlegung der Textlänge von Titel und Album wurde hinzugefügt (war vorher nur per wplastfm-settings.php einstellbar)
    • Die Höhe des Albumcovers wurde auf 32px festgelegt (per CSS weiterhin anpassbar)
  • Version 1.0.3 (21.09.2009)

    • Ein Fehler mit der Versionsnummer wurde behoben
  • Version 1.0.2 (20.09.2009)

    • Erste Version erschienen

16 Kommentare

  1. Works great, thank you

    #1 · am 21.09.2009, 18:13
  2. Nice plugin, unfortunately it doesnt work on my wordpress 2.8 instance running on my localhost server. it displays the following error

    Fatal error: Call to undefined function curl_init() in /var/www/wordpress/wp-content/plugins/wplastfm/wplastfm.php on line 121

    #2 · am 22.09.2009, 09:15
  3. @bigbrovar: Hi, what system do you use? If you use windows, make sure you activated the ‘php_curl.dll’ in the php.ini.

    #3 · am 22.09.2009, 10:02
  4. hi, plugin actually working fine on my site but as i’m not really into the whole css-thing, i’m getting pretty desperate atm. the reason therefore: the tacklist is displayed as a “list” … already found out, that list-style-type: none; should help… used it for the whole list and for the “li” elements…. unfortunately doesn’t seem to work….
    probably you could help me….

    despite this, good work ^^

    #4 · am 10.10.2009, 18:50
  5. Hi, ich denke es ist ok, wenn ich auf deutsch antworte. ;)

    Es scheint so, als würde dein Theme ein Hintergrundbild für die Listen verwenden (images/circle.gif), anstatt auf list-style oder in dem Falle list-stlye-image zurückzugreifen. Folgendes sollte funktionieren:

    ul.lastfm li {
      background: none !important;
    }

    Darüber hinaus ist es bei der Benutzung der Coverbilder nicht schlecht, eine feste Größe zu definieren. Bei einigen Bildern kommt es leider vor, dass anstatt der 34×34 Bilder 160×160 größe Bilder angezeigt werden (liegt allerdings an Last.fm selbst). Standardmäßig habe ich das bisher noch nicht implementiert, kommt aber evtl. mit dem nächsten Update.

    ul.lastfm li img {
      height: 24px;
    }
    #5 · am 10.10.2009, 20:26
  6. na auf deutsch gehts doch leichter von der hand ^^
    habe die vorschläge in die tat umgesetzt, und siehe da, es funktioniert…. danke dafür…

    #6 · am 10.10.2009, 20:59
  7. Hi guys its me again I install php curl extension and now am getting this error

    “Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /var/www/wordpress/wp-content/plugins/wplastfm/wplastfm.php on line 51
    No data available. ”

    am running this plugin on a localhost ubuntu 9.04 anyway clue what am doing wrong?

    #7 · am 10.10.2009, 23:07
  8. #8 · am 10.10.2009, 23:55
  9. @bigbrovar: @bigbrovar:

    : -(

    #9 · am 14.10.2009, 09:11
  10. #10 · am 14.10.2009, 09:44
  11. @bigbrovar: Sorry, I didn’t recognize your comment.

    You can try the following: Edit the wplastfm.php and remove the @ before simplexml_load_file() in line 50. Now you should get a detailed error message and maybe you are able to find the problem.

    #11 · am 14.10.2009, 16:50
  12. Ok i did that and it came with the error (am sorry am a noob at php and i cant decipher what the error is saying)
    Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity “/var/www/wordpress/wp-content/plugins/wplastfm/recenttracks_bigbrova.xml” in /var/www/bobola3as/wp-content/plugins/wplastfm/wplastfm.php on line 50

    Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /var/wwwwordpress/wp-content/plugins/wplastfm/wplastfm.php on line 51
    No data available.

    #12 · am 18.10.2009, 12:05
  13. It seems that there is a problem to catch the xml file from the last.fm server. Probably cUrl doesn’t work at all.

    #13 · am 20.10.2009, 23:34
  14. so, nach langem mal wieder fragen/vorschläge meinerseits. bin immer noch sehr zufrieden mit dem plugin. wollte aber mal wissen, ob du in der nächsten version evtl das %track% in Titel und Interpreten aufspalten könntest, sprich ein %artist% hinzufügst und in %title% wirklich nur noch der Titel steht?

    Außerdem wollte ich mal wissen wie ich es bewerkstellige, die Verlinkung zu meinem LastFM-Profil im Widget-Titel zu entfernen.

    Das war’s auch erstma wieder.

    #14 · am 13.02.2010, 14:18
  15. Hi,
    das ist beides eigentlich kein Problem, zumal Artist und Titel eh seperat geliefert werden. Ich müsste dann nur mal schauen, wie ich die Track länge sinnvoll gekürzt bekomme, insbesondere, wenn der Künstlername recht lang ist. Sollte aber auch kein Problem sein.

    Das größere Problem ist allerdings, dass ich derzeit relativ wenig Zeit hab, um mich mit dem Plugin zu beschäftigen. Vor Mitte/Ende März werde ich da wohl nichts machen können.

    #15 · am 16.02.2010, 18:58
  16. kein problem, du machst das ja schließlich auf freiwilliger basis. aber danke schonma.

    mir is übrigens heut noch was eingefallen: gäbe es die möglichkeit, dass, falls man %img% ein beliebiges bild geladen werden kann, falls bei lastfm kein album-cover vorliegt?

    #16 · am 16.02.2010, 19:26

Kommentieren