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

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

  関連記事

WindowsからMacに移行した。いろいろ大変だった。

Windowsマシンを使って十数年、この度マシンをMacに移行することになりまし …

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

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

Adobe Bridgeで画像ファイルの名前を一括変換する方法

デジカメの画像データなどファイル名を管理する時、「好きな名前」+「通し番号」を付 …

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

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

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

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

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

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

Google AdSenseを導入してみた

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

ブラウザ上の画面を範囲を指定してクリップボードにコピー

ブログを投稿するとき、よく画面のコピーをとることがあります。標準機能の「Alt …

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

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

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

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