Options for authenticated feeds

Client has a 3.1x-based site with paywall(using s2Member) which has a public feed that only provides excerpts. He wants to be able to give members full-content feeds, so we need something that can look at the member’s role/level and cut them off at the appropriate time, etc. It’s accepted this will probably require some templating.

I’ve found a couple of options, like Feed Key(mostly functional, but not quite) but they’ve all seem to have been abandoned around 2008 for some reason and I don’t have the capability or familiarity with the system to fix them. Are there more current options I’m not digging up, or is it that this somehow became possible with core and I’m just not seeing it?

Related posts

Leave a Reply

2 comments

  1. Assuming you only want to switch it from excerpts to full content, then you could filter the rss_use_excerpt option based on whatever settings you prefer. Something like this would work:

    add_filter('option_rss_use_excerpt','random_function_name_here');
    function random_function_name_here($value) {
      if ( whatever_check_you_want_here() ) {
        return false; // false = show full content
      } else {
        return true; // true = show excerpts only
      }
    }
    

    The problem with a solution like this is that frequently the person getting the RSS feed isn’t the actual authenticated user. Google Reader fetches feeds without being logged in, for example. And it only fetches the feed once for all the users it’s showing the feed to.

    So really, you need an entirely separate feed for members, with an entirely separate URL. This can be easily done as well, using the add_feed function. How and when you then display that separate URL is up to you and your own code.

  2. This is not possible with core so far as I know. I would recommend trying the following:

    1. Contact the original author of FeedKey and ask if they can update it for the latest version of WordPress.
    2. Contact another developer and ask them to update FeedKey.
    3. Adopt the plugin yourself, update it, and release the updated version back to the community.