サポート » 使い方全般 » 特定のユーザーの特定のカテゴリ内容をRSSで取得し、RSSリーダーで読み込

  • WORDPRESS初心者です。

    説明下手かもしれませんがよろしくお願いいたします。

    WORDPRESSをBUDDYPRESSでSNS化し、各ユーザーのプロフィールページ(http://xxx.jp/members/ユーザーネーム/)を開いた際、表示中のユーザーの特定のカテゴリ内容をRSSリーダーで取得し表示させたいと考えました。

    試行錯誤した結果、

    http://xxx.jp/blog/archives/author/<?php bp_displayed_user_username(); ?>/feed?cat=1

    上記の記述で特定のユーザーの特定のカテゴリ内容をRSSで取得することには成功しました。

    (カテゴリ1はブログ、その他のカテゴリはレビューといったカテゴリわけです)

    その内容を、

    <h2><?php echo bp_displayed_user_fullname(); ?>さんのBLOG</h2>

      <?php include_once(ABSPATH . WPINC . ‘/feed.php’);
      $rss = fetch_feed(array( ‘http://xxx.jp/blog/archives/author/&lt;?php bp_displayed_user_username(); ?>/feed?cat=1’
      //RSSフィード
      ));
      if (!is_wp_error( $rss ) ) :
      $rss->set_cache_duration(600);
      $rss->init();
      $maxitems = $rss->get_item_quantity(5);
      $rss_items = $rss->get_items(0, $maxitems);
      date_default_timezone_set(‘Asia/Tokyo’);
      endif;
      ?>
      <?php if ($maxitems == 0) echo ‘<dt>No items.</dt>’;
      else
      foreach ( $rss_items as $item ) : ?>
      <?php echo $item->get_date(“Y-n-j”); ?> get_permalink(); ?>’ target=”_blank”><?php echo $item->get_title(); ?>
      <?php endforeach; ?>

    といった内容で記載してみたところ、どうもコード内の<?php bp_displayed_user_username(); ?>が実行されずにRSSフィードが

    http://xxx.jp/blog/archives/author//feed?cat=1

    と読み込まれ、意図しないRSS(全体のRSSフィード)が読み込まれてしまいます。

    このRSSリーダのコード内でどうにか<?php bp_displayed_user_username(); ?>を実行し、表示中のユーザーネームを取得したいのですが、何かいい方法はないでしょうか?

    分かりづらい質問かも知れませんが、詳しい方おられましたらよろしくお願いいたします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 jun-hayabusa

    (@jun-hayabusa)

    その後も色々試して見ました。

    ショートコードを記載し、

    [RSSImport display=”5″ feedurl=”http://xxx.jp/blog/archives/author/&lt;?php bp_displayed_user_username(); ?>/feed?cat=16″]

    といったように組み込んでみましたが、やはり<?php bp_displayed_user_username(); ?>が読み込まれていないようです。

    出力RSSを外部RSSサイト(http://reader.livedoor.com/reader/)に登録したところ、各ユーザーのRSSは正しく認識されました。

    難しいですね…。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「特定のユーザーの特定のカテゴリ内容をRSSで取得し、RSSリーダーで読み込」には新たに返信することはできません。