A simple plugin to sync Facebook events to the Events Made Easy plugin, based on the old Sync Facebook Events plugin.
Uses the Facebook PHP API, which requires at least PHP 5.4 to work.
Note: This plugin is NOT owned or maintained by Facebook in any way.
Get The Events Made Easy plugin:
- Download the plugin archive and expand it
- Upload the eme-sync-facebook-events folder to your /wp-content/plugins/ directory
- Go to the plugins page and click ‘Activate’ for EME Sync FB Events
- Navigate to the Settings section within WordPress and enter your Facebook App ID, App Secret & Page names or IDs you want to import.
- Ensure the Events Made Easy plugin is installed and configured – https://wordpress.org/extend/plugins/events-made-easy/
- Press ‘Update’ to synchronize your current Facebook events for display within Events Made Easy.
- Synchronization will continue to occur on the schedule you set. You can always update manually if/when needed.
Q: What is the Facebook App ID and App Secret, and why are they required?
A: The Facebook App ID and App Secret are required by Facebook to access data via the Facebook graph API.
To signup for a developer account or learn more see – http://developers.facebook.com/docs/guides/canvas/
Q: How do I find the Facebook ID of the page for which I wish to synchronize events?
A: Goto the page you’re interested in – ex. https://www.facebook.com/webtrends
Copy the URL and replace ‘www’ with ‘graph’ – ex. https://graph.facebook.com/webtrends
The ID is the first item in the resulting text. In this example it is “54905721286”.
Of course, ‘webtrends’ itself is accepted as a value too (it will just add an extra call to facebook to get the page ID).
Q: Do my Facebook events get updated on a schedule?
A: Yes, You can choose the update interval and also update immediately when you press the ‘Update’ button from the Sync FB Events section within settings.
Q: Why do I get a blank screen when running an update?
A: Check your Facebook App ID, Facebook App Secret and Facebook Page IDs. One of them is probably incorrect.
Contributors & Developers
“EME Sync Events” is open source software. The following people have contributed to this plugin.Contributors
- Rename the plugin, to comply with Facebook asking their name to be removed
- To avoid copyright infringement, the cover image will no longer be downloaded by default (you have to activate that as an option now)
- Fixed url removal when it contains weird characters (like a space or so)
- Sanitize input, improving security
- The option “Use name for location” incorrectly checked also the coordinates. While normally this isn’t a problem, it is for empty coordinates (due to a small bug in 2.0.26 in EME)
and it doesn’t do as advertised (which is to just use name+address). This is now fixed.
- Align with release 2.0.25 of Events Made Easy
- The facebook ref wasn’t stored with the event anymore, this has been fixed
- make links in the event description clickable
- upon sync, an event attribute fb_ticket_uri now contains the uri to the fb ticket stuff
- better logic to avoid duplicate image upload
- Allow cron manager to return ok too (remove generated output when running in cron)
- Allow cron to work for images too (forgot to include a file)
- Support FB recurrent events (which are in fact a list of dates for one event)
- Add an option to clear the stored session cache
- Don’t do anything automatically if no fb pages are defined
- Allow to sync only a number of facebook pages at a time
- Facebook picture url can contain query args, resulting in the same image being uploaded on every sync for that event
- Also import location State (next to zip, city, country)
- Fix facebook session renewal
- Account for never-expiring facebook sessions …
- Some facebook variables are not always set, catch more of those
- Make sure event images and location info syncs again
- new facebook api used and long lived sessions expire time shown
- EME events now support city, zip and country, so this plugin needed an update too
For this version, you need at least EME version 1.7.8
- Improvement: also sync events immediately using the api info if not logged in into facebook
- Bugfix: the location town info got duplicated each time when a location got synced with street info
- Location sanitizing is needed too
- Better event sanitizing, requires at least EME 1.6.6
- Improvement: check for the php version used
- Bugfix: take local timezone info into account
- Added option to check for identical locations using just name and address info
- Facebook removed is_date_only in their latest api (only affects new apps)
- Simpler use strtotime to support more facebook time formats, timezone issues need to be checked though
- Facebook removed user_groups in their latest api (only affects new apps)
- Support more facebook time formats
- Improvement: speed improvements for importing pages with many events
- Improvement: take into account all-day facebook events
- Bugfix: better parsing of facebook datetime strings
- Bugfix: the event featured image was not being set correctly
- Feature: also allow closed group events to be synced when logging in with the facebook button
- Small bugfix
- Improvement: new facebook api v2.3 used now
- Some message improvements
- Bugfix: new installations were not able to use the settings page, rendering the whole plugin useless …
- Feature: also allow facebook private events to be synced
- Feature: allow direct import of single event
- Improvement: add description to uploaded cover pictures
- Improvement: before each run, check if the image referenced in the event still exists in the gallery
- Feature: you can now also use the facebook uid, next to the API uid itself. So e.g. ‘webtrends’ and ‘54905721286’ will result in the same
- Improvement: facebook cover pictures are now downloaded and uploaded into wp, so the power of the gallery is at our disposal now, and EME can use it as any other picture
- Feature: if wanted, use latitude and longitude to check for matching (existing) locations (next to the facebook id) to check if a location exists already
- Work around a bug in the facebook api where the cover picture isn’t returned
- Bugfix: start/end time of imported events were wrong
- Feature: allow to skip already synced events and locations, so you can edit these and keep the changes
- Improvement: do nothing if not all settings have been completed
- Improvement: all strings are translate-ready now, and added eme_sfe.pot and language subdir
- Initial release (based on the old Sync Facebook Events plugin)