Facebook Page JSON & RSS Feed

Ever wanted to put a Facebook page’s feed into your website? Every Facebook page has an RSS & JSON feed. In this tutorial I will show you how to use PHP and JSON to pull the feed from Facebook without authentication.

  1. Make sure your Page is published and visible to the public. This can be done under the Page settings. Publish Page
  2. You will need your page ID. You can get this from https://graph.facebook.com/yourpage for example https://graph.facebook.com/HoosierHeights If your page does not have a username, you can visit your page and copy the last numbers in the URL for example:
    https://www.facebook.com/pages/HoosierHeights/163276271689  NOTE: If you’re page is not published (step 1) then you’ll get this error [php]{
    “error”: {
    “message”: “Unsupported get request.”,
    “type”: “GraphMethodException”,
    “code”: 100
    }
    }[/php]
  3. Now that you have your page ID you can view the JSON feed at this URL:
    http://www.facebook.com/feeds/page.php?id=163276271689&format=json
    (replacing the number with your page ID). NOTE: You can get the RSS version by replacing format=json with format=rss20 for example https://www.facebook.com/feeds/page.php?id=163276271689&format=rss20
  4. Here is the PHP code to pull the JSON feed into your site. (Be sure to replace the URL with your own).
    [php]
    entries as $entry )
    {
    echo “

    {$entry->title}

    “;
    $published = date(“g:i A F j, Y”, strtotime($entry->published));
    echo “{$published}“;
    echo “

    {$entry->content}

    “;
    echo “


    “;
    }

    /* * * * * * * * * * * * * * * * * *
    * Below is the XML version *
    * assuming you used the XML *
    * format in the Facebook feed URL *
    * You’ll need to uncomment to use *
    * * * * * * * * * * * * * * * * * */
    //$xml = new SimpleXMLElement($text);
    //foreach ( $feed->item as $entry )
    //{
    // echo “

    ” . (string) $entry->title . “

    “;
    // $published = date(“g:i A F j, Y”, strtotime($entry->pubDate));
    // echo “{$published}“;
    // echo “

    ” . (string) $entry->description . “

    “;
    // echo “


    “;
    //}

    ?>
    [/php]

That’s it! Easy right? I would like to give credit to @mdlamar for providing help with this idea.

Adding Facebook Like Button to Posts

I recently added Facebook like buttons to each of my posts and was surprised at how easy it was. There is no need to install plugins because it’s very simple.

  1. Go to Facebook and get the code to make the like button: https://developers.facebook.com/docs/reference/plugins/like/
  2. Copy the code from part one and go to your WP Dashboard under Appearance -> Editor
  3. Select your theme on the top right dropdown.
  4. Click header.php from the list of files.
  5. Paste the first code after the tag.
  6. Update that file.
  7. Open index.php and find the loop. It should look like this:
  8. Go back to Facebook and copy the second code.
  9. Paste it inside of the loop at the end of the “entry” div.
  10. Replace the data-href URL with and that will generate the URL for that post.
  11. Update that file.
  12. Open single.php and find the loop and do steps 9-11 again.

Pretty simple. I also recommend checking out the WP Facebook Open Graph protocol plugin http://wordpress.org/extend/plugins/wp-facebook-open-graph-protocol/