WordPressの勉強がてら

WordPressの初心者が独学でホームページ作成したときの技術メモ

WordPressの勉強がてら

HPに各スタッフのアメブロのタイトルを新着順に表示させる

      2016/03/14

あるお店の各スタッフのアメーバブログの更新情報をホームページに乗せることになり、対応したのでメモ。

図にするとこんな感じ。

アメブロ

つまり、

各スタッフのブログはアメブロでそれぞれ管理してるけどお店のホームページには最新の更新情報を記載したいという要望。

 

ソースコード

これ。

$staff_array["スタッフAのアメブロID"]="スタッフAの名前";
$staff_array["スタッフBのアメブロID"]="スタッフBの名前";
$staff_array["スタッフCのアメブロID"]="スタッフCの名前";
$staff_array["スタッフDアメブロID"]="スタッフDの名前";

$i=0;
foreach( $staff_array as $key=>$val ){
    $ameblo_id = $key;    
    $rss = 'http://feedblog.ameba.jp/rss/ameblo/'. $ameblo_id .'/rss20.xml';
    $ameblo_data = simplexml_load_file($rss, 'SimpleXMLElement', LIBXML_NOCDATA);

    $ameblo_title = $ameblo_data->channel->item[0]->title;
    $ameblo_post_date = date('Y.m.d',strtotime($ameblo_data->channel->item[0]->pubDate));
    $ameblo_link = $ameblo_data->channel->item[0]->link; 

    $array[$i][0] = $val; //スタッフの名前
    $array[$i][1] = strtotime($ameblo_data->channel->item[0]->pubDate); //更新日時
    $array[$i][2] = $ameblo_data->channel->item[0]->title; //ブログタイトル
    $array[$i][3] = $ameblo_data->channel->item[0]->link; //リンク
    $i++;
} 

// 日付順に並び替え
foreach($array as $key => $row){
    $dummy[$key] = $row[1];
}
array_multisort($dummy,SORT_DESC,$array);

// 4件分表示
for($i = 0; $i < 4; $i++) {
    echo "<a href='" . $array[$i][3] . " '>" . date("Y/m/d", $array[$i][1]) . $array[$i][0] . $array[$i][2]. "</a>";
}

 

ブログのデータはrssを使ってデータブログデータを取得します。

まず、配列$staff_arrayにスタッフ分のアメブロIDとスタッフ名を入れます。

各スタッフの最新ブログ(rssデータの一件目)の日付、タイトル、urlを取得して配列$arrayに格納していきます。

その後、array_multisort関数を使えば簡単に日付順に並べることができます。

最後に出力して終わり。

ただし、このコードだと同一人物が連続してブログを投稿しても、その人の最新の一件しか表示されません。言い方を変えれば同一人物ばっかりブログを更新してもその人だけで埋まることはありません。

 

 - その他Tips

  • このエントリーをはてなブックマークに追加

  関連記事

ウィンドウのサイズを確認しながらデバッグする方法

レスポンシブのWebサイトを作成するときウィンドウ幅を見ながら画面表示をみたいの …

ネットショップBASE(ベイス)のAPIを使って商品一覧を表示させてみた

簡単に無料でネットショップが開設できるサービス「BASE」。無料ってのがとても魅 …

Google AdSenseを導入してみた

Google AdSenseを導入したので手順のメモ。Google Adsens …

フォルダ内のファイル一覧をテキストデータに落とす方法

データを納品する際の資料作成時など、ファイルの一覧表を作りたいことがたまーにあり …

マイクスピーカーAbaya B109が矢印表示がでて動かなくなったけど解決

リモート会議するときに使用してたマイクスピーカーのAvaya B109が突然動か …

bootstrapのグリッドレイアウトだけ使うのが好き

bootstrap便利です。WEB製作でレスポンシブ対応するときこれを使ってます …

PhotoShopを使って背景の邪魔な物体を簡単に削除する

PhotoShopの初心者の私です。今回、画像に写っている邪魔な物体を削除するの …

サイトにFacebookページを埋め込む方法–LikeBoxは廃止。Page Pluginになります–

以前LikeBoxを使った以下の記事を書いたのですが2015/6/23日をもって …

ファイルを解凍してくれるサイト

ファイルを解凍するとき通常解凍ソフトを使って解凍します。 しかし最近はいろんな圧 …

クリップボードの履歴を保存できるフリーソフト

「Ctrl+C」 でクリップボードにコピーできるのは通常1つで、1つ前にコピーし …