Asentelin WordPress-blogimoottoria käyttävään sivustooni Last.fm-lisäosan.
Pluginin asennus ei kuitenkaan sujunut kovin helposti. Viimeisin kuuneltu kappale tuli kyllä sivupalkkiin näkyviin aivan oikein, mutta näkyville tuli myös kurja virheilmoitus:
Warning: gzinflate() [function.gzinflate]: data error in xxxxxx/wp-includes/http.php on line 1787
Meni tovi etsiskellessä ratkaisua. Lopulta se löytyi lisäosan kehittäjän sivuilta.
Wp-includes hakemistosta löytyvää http.php tiedostoa täytyi muokata hieman. Lisäsin tiedostoon seuraavan funktion:
function compatible_gzinflate($gzData) { if ( substr($gzData, 0, 3) == "\x1f\x8b\x08" ) { $i = 10; $flg = ord( substr($gzData, 3, 1) ); if ( $flg > 0 ) { if ( $flg & 4 ) { list($xlen) = unpack('v', substr($gzData, $i, 2) ); $i = $i + 2 + $xlen; } if ( $flg & 8 ) $i = strpos($gzData, "\0", $i) + 1; if ( $flg & 16 ) $i = strpos($gzData, "\0", $i) + 1; if ( $flg & 2 ) $i = $i + 2; } return gzinflate( substr($gzData, $i, -8) ); } else { return false; } }
Lisäksi korvasin funktiossa decompress( $compressed, $length = null ) rivin
$decompressed = gzinflate( $compressed );
rivillä
$decompressed = WP_Http_Encoding::compatible_gzinflate( $compressed );
Sivustoni CSS-tyylitiedostoon lisäsin seuraavat muotoilusäännöt:
#sidebar .lastfm-item { display: block; } #sidebar .lastfm-timestamp { display: block; font-size: 0.6em; }
Vaivannäön tulos näkyy tuossa oikeassa reunassa Twitter-merkintöjen alla. Eikös ollutkin helppoa?