Social Photo Fetcher (previously called “Facebook Photo Fetcher”) allows you to quickly and easily generate WordPress photo galleries from Facebook albums.
The idea was inspired by Fotobook, though its approach is fundamentally different: while Fotobook’s emphasis is on automation, this plugin allows a great deal of customization. With it you can create galleries in any Post or Page you like, right alongside your regular content. You do this simply by putting a “magic HTML tag” in the post’s content – much like WordPress Shortcode. Upon saving, the tag will instantly be populated with the Facebook album content. Presentation is fully customizable via parameters to the “magic tag” – you can choose to show only a subset of an album’s photos, change the number of photos per column, show photo captions, and more. Plus, Social Photo Fetcher doesn’t limit you to just your own albums: it can create galleries from fanpages as well.
- Uses Facebook’s API to instantly create WordPress photo galleries from Facebook albums.
- Galleries are fully customizable: you can import complete albums, select excerpts, random excerpts, album descriptions, photo captions, and more.
- Galleries can be organized however you like: in any post or page, alone or alongside your other content.
- Simple PHP template function allows programmers to manually embed albums in any template or widget.
- Built-in LightBox: Photos appear in attractive pop-up overlays without the need for any other plugins.
- Admin panel handles all the setup for you: Just login and you’re ready to start making albums.
- No custom database tables required; galleries live in regular post content.
For a Demo Gallery, see the plugin’s homepage.
Many hours have gone into developing & maintaining this plugin, far beyond my own personal needs. If you find it useful, please consider making a donation to help support its continued development.
This plugin uses the Facebook API to fetch photo albums from Facebook. Facebook’s security rules require that apps must authorize from one specific, known location. In order comply with this requirement, when you first authorize the plugin from its admin panel, a Facebook dialog will be initiated via my own authentication server. The dialog itself is shown directly by Facebook, and Facebook handles the entire login process – no personal information will be transferred via my server, as Facebook only supplies a single-use token which I then hand back to your site to be stored. This is what the plugin uses in order to fetch the photos. For more information about how the Facebook authorization process works, please see Facebook’s documentation.
Usage of this plugin means the site administrator is consenting to Facebook’s data policy. Fetched album data will be stored in your WordPress database, in posts or pages of your choosing. It can be removed by deleting those posts or pages. You are solely responsible for the security and protection of the fetched data, as it resides on and is hosted within your own WordPress site.
I do not store or process any of your data.
Please direct all support requests here
Contributors & Developers
“Social Photo Fetcher” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Update instructions for finding FB Page IDs
- Changed donate link
- Tested w/ WP 5.7
- CSS fixes for TwentyTwentyOne
- Tested w/ WP 5.6
- Fix a bug introduced in the previous update – sorry!
- Minor: Added a bitcoin donation address to the admin panel & readme
- Update Fancybox to v3. This fixes several breaking changes that WordPress introduced in their 5.5 release. Note that existing albums should be re-fetched to update them to the new format (you can do this globally from the plugin’s admin panel, Utilities tab).
- Remove the NoLB gallery parameter
- Fix a minor php notice if WP_DEBUG is defined
- Update the FB Graph API version from 2.12 to 6.0
- Make it easier to copy search results from the admin panel
- Links to search result albums open in a new browser tab
- Fix a harmless PHP warning when fetching an album w/ description hidden
- Minor admin panel clarifications
- Tested with WP 5.4
- Minor admin panel clarification
- Tested with WP 5.3
- If the FB API fails to return an expiration for the token, omit showing an erroneous expiration date on the admin panel (FB bug https://developers.facebook.com/support/bugs/2343932799161516/)
- Renamed the plugin from Facebook Photo Fetcher to Social Photo Fetcher, to satisfy Facebook’s copyright lawyers.
- Recent browser updates seem to have broken the iFrame method of logging in to Facebook. The authorization process has therefore been rewritten to a more compatible (but slightly less convienient) method: redirecting to the authorization server & back.
- Add filter fpf_fetch_url, so you can customize the URL to request additional fields from Facebook
- Small revisions to the FB login process, along with a note to a new FAQ. FB’s login process seems to be bugging out in FF & IE right now – I’ve reported it to them, but until they fix it, please login using Chrome.
- Updates for compatibility with WP 5.0 (Gutenberg Editor)
- CSS fixes for TwentyNineteen, and for posts in TwentyFourteen
- Minor: Revised instructions for finding a Page’s ID in the admin panel
- Always load the authentication iframe over ssl (in prep of Facebook requiring this on 10/06/2018)
- Updated Facebook API calls to v2.12
- Tested with WP 4.9.6
- Facebook API calls are now versioned (v2.7)
- Optimization: Load the lightbox js in the footer, not header
- Optimization: Remove some IE6-specific CSS that results in poor YSlow & PageSpeed results (CSS expressions & AlphaImageLoader)
- Tested with WP 4.5.3
- Verified with WP 4.5
- Moved the authentication scripts to my primary domain, with a valid SSL certificate. If your WordPress admin runs over SSL, you’ll now be able to authorize the plugin without having to allow mixed-content in your browser.
- Add support for localization – finally! 🙂 Please let me know if you find any strings I’ve missed (forgotten to make translatable).
- Fix PHP notices if searching for a nonexistant Facebook userid with WP_DEBUG defined
- Fix PHP notices if fetching an album without a valid Facebook token and WP_DEBUG defined
- Fix “Re-Fetch All Albums In Pages” & “Re-Fetch All Albums In Posts” erroneously reporting a photo count of 0
- Tested with WP 4.3
- IMPORTANT: WordPress 4.2.3 will break the lightboxes in all your existing galleries. To get them working again, please use the “re-fetch all” option in the admin panel after updating this plugin; your lightboxes will work again after they’ve been re-fetched.
- Add a new “hideDesc” parameter, to hide only the description portion of the header
- Updated the Facebook app to Graph API v2.0. Please let me know if you encounter any issues!
- Revised wording in the readme & admin panel. As of April 30 2015, Facebook has removed the permissions necessary to access friends’ data – meaning no more “ability to fetch any album you can access.” See here for more info.
- Fix NOTICEs when accessing the admin panel if WP_DEBUG is defined
- Fix NOTICEs when fetching albums if WP_DEBUG is defined
- Fix deprecated function in the admin panel
- Hide contents of the Utilities tab when no access token is present
- Tested with WP 4.2.1
- Fix CSS issue with TwentyFourteen theme
- Tested on WP4.1
- Fix potential vulneratility an unescaped option in the admin panel
- Tested with WP 4.0.1
- Fix HTML validation issue caused by Facebook’s new photo URL scheme
- Tested with WP 4.0
- Fixed incorrect line-wrapping on TwentyThirteen theme
- Added a more explicit class “fpf-gallery” around galleries, for CSS styling.
- NOTE: If your album styling gets messed up after this update, just use the admin panel to “Re-Fetch” all albums, which add the new CSS class and get them working as before.
- Tested with WP 3.9
- fpf_default_albumparams filter to set the default parameters for all albums
- Fix for albums with over 500 photos
- Facebook has yet again changed their API without telling anyone, breaking the plugin for albums with over 100 photos. This update fixes it so albums of any size should work again.
- The admin panel’s search utility now shows the size of each album next to its name.
- Tested with wp 3.8.1
- Strip smartphone emoji from image descriptions (was causing crashes/incomplete results)
- Verified compatibility with WP 3.8
- CSS fix for TwentyFourteen theme
- Don’t output a title attribute for photos which don’t have captions (to avoid an odd-looking mouseover)
- Add an admin panel warning for users running over SSL (which blocks the login button after some recent Chrome & Firefox browser updates)
- Tested with WP 3.7
- Add a note about the authorization process (to satisfy wp.org’s plugin repo guidelines)
- Remove activation/deactivation auth
- Fix some harmless server 404 error logs due to old IE-specific CSS
- Fix a harmless warning on activation if WP_DEBUG is enabled
- Oops – missed one more bug in Fancybox in the previous commit. Should be working now.
- Tested on WP3.5
- Fix a bug in Fancybox that prevents the use of URLs in ‘rel’ attribute
- Change the gallery ‘rel’ attribute to satisfy the HTML5 validator
- Also bundle the uncompressed version of Fancybox (for easier debugging/testing)
- Add filter “fpf_parse_params” to allow developers to supplement the included magic tag params with their own.
- Add filter “fpf_album_data” to modify the album metadata (i.e. author, date, covor photo, etc).
- Add filter “fpf_photos_presort” to modify the photo objects received from Facebook. Applied before trimming/sorting.
- Add filter “fpf_photos_postsort” to modify the photo objects received from Facebook. Applied after trimming/sorting.
- Show “FB Photo Fetcher+” in the admin menu if a 3rd party addon is present, and add support for an “Addon” tab.
- Move the “donate” link to the bottom of the Support Info tab (rather than a tab of its own).
- Don’t verify the ssl certificate when contacting Facebook (to fix SSL3_GET_SERVER_CERTIFICATE on servers with improper cURL configurations)
- Add the url to the Support Info tab
- Add a button to the admin panel to renew Facebook access tokens; it’s available from 1 day after the token is created (since FB only allows you to renew once per day)
- Add a more descriptive error message upon failure to get an access token
- Add a “Support Info” tab to the admin panel
- Fix for galleries in custom post types
- Fix a debug notice about wp_enqueue_style/wp_enqueue_script
- Fix z-indices in Twenty Eleven (so the lightbox doesn’t come up beneath the header)
- Get rid of the isGroup and isPage warnings (not necessary since I changed the magic tag identifier)
- Rephrase the ‘count mismatch’ error message
- Complete rewrite of all Facebook authentication/interaction code; the plugin now uses the new Graph API. Existing users of v1.x will need to re-authorize in the admin panel, and potentially update existing album tags (but only if you plan to re-fetch those albums). Please visit the plugin documentation page for more information on upgrading.
- New tabbed admin panel
- The Magic Tag identifier has been changed to “FBGallery2”
- The ID numbering scheme has been changed
- The admin panel revalidates your access token whenever it’s loaded, to make sure it hasn’t expired
- Added a button to remove an existing token from the database (aka deauthorize)
- Renamed the ‘item count’ postmeta from _fb_album_size to _fpf_album_size
- Added new postmeta _fpf_album_cover with the Facebook URL of the cover photo
- Removed the Add-From-Server feature (it wasn’t working properly; may re-add it at some point in the future…)
- Name and uid are no longer stored in the db, as they’re only used by the admin panel (and can be fetched as part of the revalidation test)
- Nicer formatting for album search results
- The footer now says “Generated by Facebook Photo Fetcher 2”
- More changes than I can list…
- Facebook broke the redirect URL on their login dialog. This fixes it to properly display “success” after authorization again.
- Oops – previous version didn’t fully fix the problem. Should work properly now.
- Handle multibyte characters in caption excerpts
- Facebook changed their API and broke things yet again (removal of prompt_permission.php endpoint). This update should work around it and get things running as they were previously.
- Facebook has announced that they’ll break offline_access on Oct 3, 2012. This update should keep the plugin running after that update as well.
- Update setup instructions
- Update WordPress compatibility number.
- Update the instructions for getting userIDs in the admin panel (Facebook changed their URL scheme again).
- Apparently, the previous lightbox implementation included with this plugin was not GPL-compatible (leading to its removal from the repository). This update uses a different lightbox that should satisfy WP.org. NOTE that if you update, you will need to re-fetch all of your albums so that their code will be updated to use new lightbox. You can do this quickly via the “Re-Fetch All Albums In Pages” and “Re-Fetch All Albums In Posts” admin panel buttons.
- Update version compatability number
- Fix “refresh albums” to work for PRIVATE post/pages (as well as public)
- Admin panel code cleanups
- Slightly revise instructions
- Add better support for code addons
- Apply trailingslashit() to the thumbnail path to prevent double-slash
- Update compatibility number
- Removed plugin sponsorship messages. See Automattic Bullies WordPress Plugin Developers — Again.
- Update compatibility number
- Add a note to the admin panels that search is only for personal albums
- Reformat the search results to be copy-pasteable tags
- Update compatability tag
- Add (hide-able) sponsorship message
- Slight cleanups to admin panel
- Some code restructuring to support an eventual cronjob addon
- Add new “orderby=reverse” param
- Remove unneeded debug code
- Add return URL to paypal donate button
- Error check if the user denies necessary permissions while connecting to Facebook
- Marked as compatible up to 3.0.1
- Bug fix: Categories were getting lost when using “Re-Fetch All Albums in Posts”
- Oops – forgot to add a check in one more spot
- Added a check for other plugins globally including the Facebook API
- Something got left out of the 1.2.0 commit…
- Update the Facebook client library so it’ll play nice with newer plugins
- The minimum requirement is now PHP5.
- Update connection process for Facebook’s new privacy policies (to address the bug where no albums were returned by search)
- Fix bug where thumbnails were not downloaded for non-group/page albums where only a portion of the album is shown.
- Use php long tags instead of short tags; should work on XAMPP servers now.
- Sorry – 1.1.9 broke regexp’s again for 64-bit userID’s. Should be fixed.
- Oops – regexp mistake required a space after the albumID in the start tag; fixed.
- The last version broke isPage; fixed.
- Added support for 64-bit userIDs (aka albumID’s with dashes and minuses)
- Added a check for has_post_thumbnail exists (so it won’t die on pre-2.9 wordpress installations)
- Fix an issue where the last row of photos weren’t clearing their floats properly; YOU’LL NEED TO REGENERATE YOUR GALLERIES for this fix to be applied.
- Always explicitly prompt for infinite session (many users seemed to be getting this error)
- Add isPage parameter – now you can get photos from fan pages!
- Include close/next/prev/loading images for lightbox
- Add version number to plugin code
- Small fixes & cleanups
- Update instructions to clear up a common issue
- Fix bug if photo captions are enabled and contain square brackets
- Add support for GROUP photo albums (in addition to USERs)
- Some code restructuring
- Add support for “rand” argument (randomized album excerpts)
- Add links to FAQ when fail to connect with facebook
- Minor cleanups
- Add support for PHP4
- Add default stylesheet
- First Release