サポート » 使い方全般 » wordpressのrss配信項目をカスタマイズする方法

  • デフォルトのRSS情報(タイトル、リンクなど)のほかに、それぞれの記事のカテゴリ名も配信したいのですが、どうしたらいいでしょうか。

    wp-includes/feed-rss2.phpに以下のように追加してみたのですが、うまくできませんでした。

    $cat_name = "";
    $cats = get_the_category();
    foreach($cats as $cat){
        $cat_name .= "$cat->cat_name ";
    }
    ?>
    <cname><?php echo $cat_name; ?></cname>

    フィードの読み込みはJSで以下のように書きました。

    for(var i=0; i<rss.feed.entries.length; i++){
       var entry = rss.feed.entries[i];
       document.write(entry.title);
       feedHtml += '<li>';
       feedHtml += '<a href="' + entry.link + '">' + entry.cname + entry.title + '</a></li>';
    }

    そもそも可能でしょうか・・?

    もし可能でしたら、やり方を教えていただけると助かります。

    ありがとうございます。
    よろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 補足です。

    もともと、RSSフィードに、

    <category>
    <![CDATA[ category_name ]]>
    </category>

    のように配信されているのですが、これがJSで

    entries.category

    でundefinedとなったので、カスタマイズしようとしました。
    これをうまく表示させる方法があればそれでも教えていただけると嬉しいです。

    よろしくお願いします。

    RSSの出力はwp-include内のfeed-{種類}.phpで出力されています。
    RSS2ならfeed-rss2.phpですね。
    で、そこを調べるとthe_category_rssという関数でcategory部分を出力しているようです。
    辿って行くと関数の最後に
    return apply_filters( ‘the_category_rss’, $the_list, $type );
    で値を返していますのでthe_category_rss部分にフィルターをかけると実現できそうです。

    RSSの出力はwp-include内のfeed-{種類}.phpで出力されています。
    RSS2ならfeed-rss2.phpですね。
    で、そこを調べるとthe_category_rssという関数でcategory部分を出力しているようです。
    辿って行くと関数の最後に
    return apply_filters( ‘the_category_rss’, $the_list, $type );
    で値を返していますのでthe_category_rss部分にフィルターをかけると実現できそうです。

    ご回答ありがとうございます。
    申し訳ありません、、

    the_category_rss部分にフィルターをかける

    こちらの意味がちょっとわからなくて、詳しく教えていただいてもいいでしょうか。。
    無知で大変恐れ入ります。

    よろしくお願いします。

    モデレーター Daisuke Takahashi

    (@extendwings)

    add_filter()関数を使うことでフィルターをかけることができます。関数の詳細はCodexにあります

    モデレーター gatespace

    (@gatespace)

    別解ですが。

    もともと、RSSフィードに、
    <category>
    <![CDATA[ category_name ]]>
    </category>
    のように配信されているのですが、これがJSで
    entries.category
    でundefinedとなったので、カスタマイズしようとしました。

    JavaScriptでfeedを取得して投稿のタイトルなどは出力出来てるんですよね?
    だとしたらJS側の取得方法や加工方法を変えてみては?

    Feed JSON というJSON形式でフィードを書き出してくれるプラグインを使えば簡単だと思いますけど
    https://wordpress.org/plugins/feed-json/
    http://dogmap.jp/2011/02/15/feed-json/
    http://blog.neo.jp/dnblog/index.php?module=Blog&action=Entry&blog=pg&entry=2681&rand=d0b11

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「wordpressのrss配信項目をカスタマイズする方法」には新たに返信することはできません。