Okay, so this has been a chore figuring out an agreed solution for our team. In a nutshell, we're a speaker's agency like TedX. Currently, we hold all publicly displayed information about the speakers in Salesforce and then sync it to WordPress using Salesforce Object Sync as a one-way connection. However, that has brought several limitations and caused problems, such as keeping the information linked between the two and sync breaking due to too many updates.
I'm wondering if there is a way to eliminate the WordPress sync and instead connect to Salesforce directly.
Requirements:
We can't switch hosting providers
WordPress is still needed for other web features
It has to provide some form of query capability, such as search and filtering
Currently, Salesforce has recommended its own CMS as a solution. However, I struggle to differentiate between their CMS solution and REST API. The REST API has limits to the number of calls per day. This doesn't work well when using Salesforce as a headless CMS.
I imagine that I can't be the only one who has begun this journey. I'd appreciate any form of insight on ways to go about this whole transition from using WordPress as a DB and instead Salesforce.
I'm currently at a loss and working with their solutions team, but I figured I should check in here, too.
21 Answer
Some possibilities.
Fix the Salesforce sync process. Salesforce.com (SFDC) offers a robust sync infrastructure, and it's possible your particular implementation has some sort of instability or flaw that's fixable. I've built sync processes that ran for years without trouble once they worked.
Embed SFDC pages in iframes in WordPress.
Implement a custom shortcode or block in WordPress that uses the Salesforce API to fetch just one item, cache it in WordPress (transients are good for this), and display it. The cache should prevent you from hitting the SFDC API rate limit.
Implement an outbound webhook in SFDC announcing each creation / deletion / change of an item you want to make available in your WordPress site. Implement a custom WordPress REST API endpoint to receive these webhooks and update WordPress.
Maybe one of the commercial web-messaging services like Zapier can help? You'd still need the custom REST API.