2008年3月20日木曜日

ホームページにブログの記事を新着表示させる方法

ホームページに、ブログの新着記事を自動で表示する方法は・・・?
検索で出てくる参考サイトは難しいものが多いので、初心者向きに整理してみました。


ブログの利点はいろいろありますが、その中でも特徴的なのが「RSS」といって、ネットの世界に共通の形式で出力される信号のようなものを配信できることです。このRSSを自動で取得できるスクリプトをサイトに埋め込むと、あなたが書いたブログの新着日記が自動でホームページに表示されます。多少のタイムラグがありますが、手動でHTMLに新着表示を出している手間からすると雲泥の差。
新着日記を表示させて、訪問者に楽しんで貰ってもいいですし、サイトからのお知らせのような、更新案内に使ってもイイデスね。
下記のページで見本のソースを置いておきますので、使ってみて下さい。

難易度としては、
HTMLをソースの方で編集出来る & スタイルシートがある程度わかる方なら設置可能かと思います。


※たまーに直接メッセージで質問が来るんですが、初対面の方にいきなり質問いだきましても対応しきれないので、このブログへのコメントでお願いします。

規約にも書いておきましたが、記事を見て参考になった方は、ご自身のブログで該当ページを紹介していただけると嬉しいです!

>webの森:ホームページにブログの記事を新着表示させる方法

13 件のコメント:

スパーク さんのコメント...

分かりやすい説明で意外に簡単にホームページにブログの記事を新着表示させる事ができました。
ありがとうございます。
ブログはWordPressを利用しているのですが、本文を取りだせないでいます。タイトルや日付は表示されるのですが・・。
WordPress内では、設定表示>設定で「RSS/Atom フィードで表示する最新の投稿数」を指定したり「RSS/Atom フィードでの各投稿の表示」では全文または抜粋にチェックを入れたりしているのですが、うまくいかず行き詰まってしまいました。何か良い方法てがあれば教えてください。よろしくお願いいたします。

momonga365 さんのコメント...

スパークさん
コメントありがとうございます。
WordPressの場合、RSSをみると
本文はdescriptionになってるので、
$itemに
descriptionを入れて表示できませんか?

スパーク さんのコメント...

momonga365様、回答して頂きありがとうございます。

>$itemにdescriptionを入れて表示できませんか?

RSStest>wp.phpファイルの「$itemday = JcodeConvert($itemday, 4, 2);」の直下に
$desc = $item[description];
$desc = JcodeConvert($desc, 4, 2);
を入れましたが、タイトルと日付のみで変化はありません。
初心者故知識がなくグッグってもいますが解決に至りません。

momonga365 さんのコメント...

スパークさん
(多分ですけど)
echo "<p>$desc</p>¥n";
これを表示させたいところに置いてみてください。
WordPressならわたしもこの方法で成功してるので大丈夫と思うんですが・・・・
ただし、画像は読み飛ばされてしまうんですよね。。。。

momonga365 さんのコメント...

タグを入れるとコメントが投稿できないので、<>など全角にしてありますので、半角に変えてくださいね!

スパーク さんのコメント...

momonga365様
なんとかできました。ありがとうございます。

今回このことでいろいろググって見るとincludeするとスパムされそうですが、その対策などあるのでしょうか?

momonga365 さんのコメント...

スパムって、「検索エンジンから嫌われる」というあのスパムですか?

わたしは自分のところのブログを読み込ませるという方法でしか使ったことがないので、わかりませんねぇ。。

不正なことに使用すると何が起きても知りませんよ・・と。Webの森にも書いておきました。

が・・・RSS読み込みの技術自体はどこでもやってることなので
(ブログツールでも、ズープスなどでも簡単にできちゃいますよね、今どきは)
堂々と読み込み先の作者にも言えるような使い方ならいいんじゃないでしょうか。
と、これはわたしの主観です。

くろすけ さんのコメント...

momonga365様

参考にさせていただき挑戦しています。

あと一歩と思うのですが足踏み状態で先に進まないでいます。

直接http://www.example.jp/wp.phpを実行したらブログの日記のタイトルと日時が表示されます。いずれかをクリックすると日記にリンクします。
次に#include file="wp.php" の記述を例に従い実行するとうまくいきません。

ブログはWordpress2.6
WebサーバーはApacheを使用しています。
何かヒントになるようなことでもございましたらご教示頂けたら幸いです。

momonga365 さんのコメント...

くろすけさん
<!--#include file="wp.php" -->
は、ssiを使う方法ですが
HTMLのほうは
.shtml
にしていますか?

くろすけ さんのコメント...

momonga365様

お返事有難うございます。

SSIのことは全く分かりません。
HTMLのままです。

momonga365 さんのコメント...

サーバーがSSIに対応していなければ、PHPに直接書いてしまう方法でも大丈夫です。
(Wordpressが使えるそうなのでサーバーはPHPに対応してますよね)
サイトの解説の中に書いてありますので試してみてくださいね。

くろすけ さんのコメント...

momonga365様

有難うございます。

今から、挑戦してみます。

匿名 さんのコメント...

私も導入してみました!非常に素敵なTIPSをありがとうございます。
ひとつ質問があるのですが、設定直後は問題なくタイトルと日付が表示されるのですが、しばらくすると、こつ然と姿を消してしまいます。以降、新たに投稿しても何も表示されません。

サーバーに、cacheというフォルダが自動で生成され、キャッシュが保存されるようですが、このフォルダを消すと、表示が復活します。しかしこの作業を毎度毎度やっていてはとても面倒です。何か対処方法はありませんか?
よろしくお願いいたします。

WordPressのフォーラムにも同じ質問したのですが、やはり本家に聞いたほうがいいのかなと思いまして、こちらに投稿しました。

webの森のFBページへも来て下さい