[stmx] - ソーシャルマーケットプレイス
2009
09/10

[WP] 続・FlickrRSSプラグインでランダム表示

この記事をChoix!
2009/09/10 14:39, Under PHP, TIPS, WordPress  

もう3年近く前になりますが、WordPressのサイドバーにFlickrの画像を表示するプラグイン「FlickrRSS」についての改造記事を書きました。

その後、どのタイミングだったか忘れてしまいましたが、、、多分デザイン変更のタイミングでFlickrウィジェットの表示を止め、そのままFlickrRSSプラグインのことも忘却の彼方に行ってしまってました^^;;

ところが!!

こんな拙いブログにも少しは参考にして頂けたのか、FlickrRSSプラグインの改造箇所についてコメントを頂きました!!!
いやーもう嬉しいやら忘れていた自分が恥ずかしいやら^^;;
続きを読む »

2008
06/27

RSSフィードURL 変更のお知らせ。

この記事をChoix!
2008/06/27 11:19, Under WordPress, 戯言  

何人の方が購読してくださってるのだろうかと日々疑問の ikeda です、こんにちは。

本ブログのプチリニューアルに際して、RSSフィードの配信をFeedBurnerにお願いすることにしました。

ということで、(貴重な)購読者の皆様にはお手数をおかけして大変申し訳ありませんが、RSSフィードのURL変更をお願いしますm(_ _)m

一度、RSSリーダから今の登録をさくっと削除して頂いて、左メニュー下にある「このWeblogを購読」メニューからお使いのリーダに併せて選択して頂ければOKだと思います。もちろん、RSSリーダにフィードURLのDiscovery機能があればそれでも構いません。

よろしくお願いしまーす^^

ちなみに現時点でFeedburner購読数はだそうです。少なっ!w

2008
06/26

サイトデザイン・弱変更。

この記事をChoix!
2008/06/26 13:48, Under TIPS, WordPress  

昨日、ふと思い立ってブログのテーマ変更・プラグイン整理などを行いました。

以前は左サイドバー+メインコンテンツの2カラムでしたが、サイドバーの内容が多くなりすぎて妙に縦長のページになってしまっていました。そこで、今回はSajith M氏作の3カラムテーマZen In Greyにし、主にナビゲーション系を左、広告や他コンテンツ系を右のサイドバーにまとめてみました。

昨日からごそごそいじって、やっと落ち着いてきたように思えますが、、、どうでしょう?

続きを読む »

2007
11/22

Haru.fm ウィジェット/WP-Haru-Widget

この記事をChoix!
2007/11/22 17:05, Under Web, WordPress  

Haru.fmというミニブログがあります
要するにTwitterの日本版なんですが、携帯から写真やムービーも添付できたり、メッセンジャーからのアクセスに対応したり、と、独自の進化を続けているミニブログサイトです。

ふと思い立って、WordPressのサイドバーへHaru.fmの書き込みを表示するウィジェットを作ってみました。このブログのサイドバー上部にも設置してあります。

使ってみたいという奇特な方(笑)は

  1. 下のリンクからアーカイブをダウンロード
  2. wp-content/plugins 以下に展開
  3. プラグイン管理画面からプラグイン(「WP-Haru Widget」と「XML Parser」)を有効化
  4. ウィジェット管理画面から「Haru.fm」ウィジェットを適当な位置に配置
  5. ウィジェットのプロパティにて以下の項目を設定
  • タイトル
  • Haru.fm ユーザID
  • 取得したいリストの種別(ラウンジ・自分の書き込み・友達との書き込み)
  • 表示数(1・5・10・15)

すればOK(のはず)です。

バグ報告・ご意見・ご要望等ありましたら、コメント頂ければと思います。

ウィジェットの勉強がてら書いたものなので、ソースは汚いです。
無駄処理もあると思います。ええ。

でも。

でも~。

でもでもでもでも~~~っ!

 〇∧〃
 / >  そんなの関係ねぇ!
 < \  そんなの関係ねぇ!

  〇/ はい!
 /|    オッパッピー!
 />



Download

2006
12/11

FlickrRSS プラグインでランダム表示

この記事をChoix!
2006/12/11 11:49, Under PHP, TIPS, WordPress  

っていう程の改造でもないんですけど(^^;

右メニューの下のほうに、Flickr の自分のアルバムから2、3枚の写真を表示していますが、
これは FlickrRSSプラグイン というWordPress Pluginを使用しています。

先日プラグインのアップデートを行ったんですが、その途端に画像表示されなくなってしまいました。

調べると、Flickrから取得したフィードの内容がXMLではなくシリアライズされた配列みたいな感じになっているため、RSS解析がコケているのが原因でした。

試しにそのままunserializeしてみましたが復元できず。

てことで、まずflickrAPIの呼び出し部をいじってみます。

flickrrss.php 40〜42行目辺りに、FlickrAPIのURLを作っている部分があります。

// get the feeds
if ($type == "public") {
$rss_url = 'http://api.flickr.com/services/feeds/photos_public.gne?tags=' . $tags . '&format=rss_200';
} elseif ($type == "user") {
$rss_url = 'http://api.flickr.com/services/feeds/photos_public.gne?id=' . $userid . '&tags=' . $tags . '&format=rss_200';
} elseif ($type == "group") {
$rss_url = 'http://api.flickr.com/services/feeds/groups_pool.gne?id=' . $userid . '&format=rss_200';
} else {
print "flickrRSS probably needs to be setup";
}
# get rss file

このURLの最後、format=rss_200という部分をformat=rssに変更すると、通常のRDFでフィード取得できるようになりました(^^)v ちなみに atom はダメです(その後のデータ取得がコケます)。

さて、いじりついでにもう一つ。

flickrRSS はその名の通り、FlickrからのRSSフィードに従って画像を引っ張ってきます。頻繁に画像をアップロードしている人であればいいのですが、僕のような駆け出しアマチュアカメラマン見習だと滅多にアップロードできない為、いつ見ても同じ画像ばかり表示されてしまいます。

なんとかこれをランダム表示にしたいところです。

ということで、Let’s Hacking!(そんな大仰なもんでもない)

コードを読むと、先ほどの修正(?)のすぐ下、 46行目辺りに fetch_rss() があります。ここでRSSを取得しているわけですね。そしてその直後、array_slice でもって必要な数(管理画面で設定した画像数)分だけのRSSアイテムをフィード先頭から切り出しています。

# get rss file
$rss = @ fetch_rss($rss_url);

if ($rss) {
$imgurl = "";

# specifies number of pictures
$items = array_slice($rss->items, 0, $num_items);

むむ。てことは、この $rss->items 配列の中から適当にアイテムを拾い出せば、ランダム表示できるんじゃ?

早速やってみましょう。

PHPのリファレンスを見ると、、おおっ!array_rand()という、まさにぴったりの関数があるではないですか!
これでフィードデータ配列の中からランダムなデータを引っ張り出せます!

起こしたコードはこちら。


// $items = array_slice($rss->items, 0, $num_items);
# $rss->items 配列からランダムにキーをピックアップ
$rand_keys = array_rand($rss->items, $num_items);

# ピックアップしたキーに基づいてデータを取得
$items = array();
if ($num_items < = 1) {
$items[0] = $rss->items[$rand_keys];
}
else {
foreach ($rand_keys as $k) {
array_push($items, $rss->items[$k]);
}
}

実際に表示させてみると、、、、おお!リロードする度に違う画像が表示されます!

取得するRSSフィードのアイテム数に上限がある為古い画像は対象になりませんが、これはおそらくFlickrAPIを叩く際のパラメータで変更できるはずですね。

あとは管理画面からランダム表示/通常表示の切り替えや、対象とする画像数などを設定できればカンペキかも(^^)

本家もサポートしてくれないかなー。。。。(パッチを送れ?w)