Ran in exact same issues after double-checking all the set-up a dozen times (+ disabling all other plugins etc)...
I spent half my morning debugging this PoS of a plugin and here are the results (ongoing work):
• Checkbox gets unticked because the morons who programmed this plugin decided it was the appropriate response, when the posting fails due to an API error. Instead of, you know, displaying a freaking error message.
• Posting fails because the plugin uses what appears to be outdated API specs. Gory details for debug-minded people:
- WP's implementation of
makeRequest throws a mysterious '400 HTTP' error.
- when running the same query manually, Facebook API returns code '2500':
Unknown path components: \/my-app-id
- manually changing the API parameter to replace
news.publishes successfully posts.
- haven't yet figured an easy way to change that in the plugin itself...
Either way, it looks like FB devs cannot seem to keep up with their own API.
Update: THE FIX
Following bit of code-tinkering did the trick for me (until FB breaks their API compatibility again, I guess). Use at your own risk.
- Edit file
- Around line 344, replace:
$publish_result = $facebook->api('/me/' . $options["app_namespace"] . ':publish', 'POST', array('message' => $author_message, 'article' => get_permalink($post_id)));
$publish_result = $facebook->api('/me/' . 'news.publishes', 'POST', array('message' => $author_message, 'article' => get_permalink($post_id)));
- Of course, you still need to have added the action to Open Graph in your FB app settings (follow the plugin instructions, except you need to create a 'Publish + article' action).
I suspect a similar fix can be done for the post-to-page function, but do not use it and do not really have the time to debug this too.
Incidentally: the publishing function of this plugin is quite poor: doesn't bother posting a summary or suggesting a thumbnail... I threw away my own custom FB-posting plugin, thinking the official one would be better-supported and more advanced: bitter disappointment there.