[k]id » WordPressでFlash連携させるためにXMLを別に作成するプラグイン 

2009年5月14日

WordPressでFlash連携させるためにXMLを別に作成するプラグイン

Yahoo!ブックマークに登録

1 Star2 Stars3 Stars4 Stars5 Stars (現在評価はありません。)
Loading ... Loading ...

WordPressとFlashを連携させる場合、単純にテンプレートでxmlを吐き出せばいいのだが、
欲張ってhtmlの通常ページも残したいって欲張りなサイト制作に直面しました。

そこでアレコレ探したところ、
Feed Wrangler」というプラグインが素晴らしい!

これは何をしてくれるプラグインかというと
・好きなxml構文でWPの記事を吐き出せる
・テンプレートをいじる感覚でカスタム出来る
という素晴らしいプラグインでした。

具体的には

1、Feed Wranglerからファイルをダウンロード

2、プラグインフォルダにFTPアップロード

3、WPのプラグイン画面でFeed Wranglerを有効化

4、設定画面にFeed Wranglerの項目が現れる。

5、下記画面の
   Feed Slug:に任意の名前(ex..my_feed)
   Notes:に備考(ex..カスタム用のフィード)
  e38394e382afe38381e383a3-2
6、その後「add feed」ボタンで登録完了!

7、するとCurrent Feedsに下図のようなリストが現れるので、
  e38394e382afe38381e383a3-4

  create feed-my_feed.php in your theme to override
  ↑現在使用中の「Theme」フォルダにfeed-my_feed.phpって名前でテンプレートを作成すれば完成!

XMLテンプレート例

<?php
/*
Template Name: newsXML
*/
?>
<?php header('Content-Type: text/xml; charset='.get_option('blog_charset'), true); ?>
<?php echo  '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
<items>
<?php query_posts('category_name=カテゴリー名&showposts=表示数'); ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<item_list>
<?php echo "<TITLE>".$post->post_title."</TITLE>\n";
  echo "<URL>".get_permalink($post->ID)."</URL>\n";
  echo "<DATE>".$post->post_date."</DATE>\n";
  echo "<CONT>".strip_tags($post->post_content)."</CONT>\n";
?>
</item_list>
<?php endwhile; endif; ?>
</items>

フィードを確認するにはCurrent Feedsのリストのスラッグ名のリンクをクリックすれば表示されます。








Comments

Powered by Facebook Comments

この記事を読んだ方は下記も投稿も読んでいます

コメント・トラックバック

  1. はじめまして。非常に参考になるエントリーありがとうございます。

    早速、参考にさせていただきFeed Wranglerをいれてみました。
    これは便利ですね!!
    問題なくXMLで出力できるようになっているのですが、
    これをRSSリーダー(LivedoorReader)に登録しようとすると、
    RSSフィードとして認識してもらえないようですが、
    そちらの環境ではいかがですか?

    Flashが読む文にはXMLとしては大丈夫そうですが、
    ひょっとしてフィードとしては不十分な出力なのでしょうか。

    念のためFeedAnalyzer(http://feedanalyzer.com/)に
    フィードのURL
    :[http://****/?feed=my-feed]
    を突っ込むと、

    以下のようなエラーが出ます。

    「構文を確認しましたが妥当(VALID)ではありません。」

    このフィードはphpファイルのほうを正しく記述したらRSSリーダーのほうで認識されるようになるのか、非常に悩んでおります。
    もしご存知でしたらアドバイスお願いいたします。。

    コメント by kenbou

    2009年7月17日 @ 2:22 AM

  2. コメントありがとうございます。
    なるほど!

    Feed Wranglerの設定画面で新規に登録すると
    Template being usedの欄に
    Default (create xxx.php in your theme to override)
    と表示されるはずです。
    デフォルトの設定だとRSS2.0のフィードが
    生成されるはずですよね??

    こちらで確認しましたが、
    恐らくrss2.0にてxml生成がされているみたいです。
    試しにFeedAnalyzerで
    http://kidokorock.com/?feed=test
    でかけてみたのですが、正常にバリデートされました。

    もし、お時間的に可能でしたら、上記URL
    FeedAnalyzerでお試しいただけると
    問題解決につながるかもしれません。

    ちなみにFeed Wranglerはバージョン0.3.1を使用しています。

    コメント by admin

    2009年7月17日 @ 6:56 PM

  3. 返信ありがとうございます。
    ・・・結果からいいますと、だめでした。
    たしかに管理人様のだと、FeedAnalyzerは問題なくいけますよね。

    こちらのほうですが、
    phpの書式を、当記事のXMLテンプレート例をそのまま貼り付けて見ました。
    ※昨日は別のオリジナルのXMLテンプレートのphpを使っていましたので・・

    一点確認させてください。PHPファイルはこの記事のXMLテンプレート例をお使いでしょうか。
    また、吐き出されているFeedのXML自体(http://kidokorock.com/?feed=test)をIE6という旧ブラウザを使って
    見てみたのですが、


    -
    -

    というタグが冒頭にありました。これはphpのほうで記述されているのでしょうか???となると、サンプルのphpとは異なるのかなと思いましたが、これはFeelWranglerが自動で出しているのでしょうか。。。??

    コメント by kenbou

    2009年7月18日 @ 2:07 AM

  4. すみません、タグを貼ってみたのですが、反映されないみたいですので、書きますと、
    rss version=”2.0″
    なるタグがあったということでした。

    コメント by kenbou

    2009年7月18日 @ 2:08 AM

  5. 私の方は、defaultの設定のままで、
    FeelWranglerが自動で出している状態です、

    試しに、PHPのバージョン等をご確認されてみてはいかがでしょうか?
    ご参考になれば、有り難いのですが。

    コメント by admin

    2009年7月18日 @ 6:56 PM

  6. [...] 実際動かそうと思って参考にしたサイト。 [...]

    ピンバック by Feed Wrangler関連。 | WPNOB

    2011年3月3日 @ 4:39 PM

トラックバック

コメントする

Filed under: WordPress Tips
タグ: