2013.04.07 [日] それでも、Facebook「Like Box」をカスタマイズしたかった。
Facebookのページプラグインが便利になりレイアウトしやすくなりました。もうすでにサポートが終了していることもあり、fb.wallを外しました。ページプラグインに関しては、下記から行ってください。
https://developers.facebook.com/docs/plugins/page-plugin
【2014年1月19日追記】
昨年の10月にまた、Facebookの仕様が変わり「いいね!」の数が取得できなくなっています。
fb.wallでundefined people likes thisとか出る件 | IT屋のPC+ビジネスハック
の記事に対処法が書かれています。
上記記事を参考に変更すると、いいね!の上限数に限りが出てきますので、
fb.wallメモ最終版 | 永遠少年症候群
に修正方法が紹介されています。またこの記事で利用してる「fb.wall」も開発が「neosmart STREAM」に移行しているようですのでご注意ください。このブログでは「fb.wall」が完全に動かなくなってから対応を検討しようと思います。
【本文ここから】
よく仕様の変わるFacebookですが、昨年末あたりからLike boxをCSSを使ってカスタマイズすることができなくなりました。今でも、以前書いた「Facebook「Like Box」をカスタマイズした。」の記事へLike Box, カスタマイズなどで検索して訪問していただくのですが、今は残念ながら反映されません。
デフォルトだと、やはりウォールの右側が空いてしまいますし、アイコンも下図右のように小さく調整したいです。

ということで、いろいろと検討した結果、デフォルトのLike BoxとjQueryのプラグインfb.wallを組み合わせることにしました。
上の背景に色が入っているところは、Facebook Developersで作ります。Show Faces(いいねしてる人のアイコン), Show stream(ページのウォール), Show header(ヘッダー「Facebookもチェック」)のチェックを外してページタイトルと「いいね!」ボタンのみでCodeを出力します。

を表示させたい部分に埋め込み、head内にも出力されたjavascriptを入れておきます。
色や線は、
.fb_iframe_widget, .fb_iframe_widget span,のようにCSSで変更できます。
.fb_iframe_widget span iframe[style]{
background-color: #F4F4F4;
overflow: hidden;
width: 100% !important;
}
次にFacebookページのウォールを表示させるために、fb.wallを使用します。
fb.wallのサイトにLive Demoがありますので、自分のFacebookページが取得できるか確認してください。
アクセストークンはとりあえず、「Connect and create access token」を押せば勝手に作ってくれます。コードも書きだしてくれるので、まずはそれを使いましょう。
設置準備としてはサイトから、jquery.neosmart.fb.wall.jsをダウンロードしてhead内に追加します。jQueryも忘れずに先に読み込ませておきます。
そして、各種設定のためのjavascriptを書き込みます。
設定の方法などは、
【参考:】jQueryでFacebookをもっと便利に、fb.wallを詳しーく解説 | Webデザイン日々独学
をそのまま流用させてもらっています。
アクセストークンについては前回作った、Developerアプリページを確認して、Access Token Tool をクリックすると、App Tokenが取得出来ます。アクセストークンには複数種類があり、App Tokenは、有効期限が切れないようです。
【参考:】Facebookのアクセストークンのいろいろ | wktcoder
そして、先ほどのLike Boxの下にを追記し、表示されればOKです。さらにデベロッパーツールを使って、classを調べればfont-sizeやレイアウトもカスタマイズできます。
ずっと崩れていて気になっていたFacebookページのLike Boxがこれで整えれました。
嵐の週末を、ほぼこれに費やすなんて、なんてこったい。