I’ve been doing some research on this and haven’t been able to find many solutions that handle this. There is ofcourse the WordPress native exporting function, but I’ve had issues with this in the past and it’s simply not accurate enough to push data updates on a staging site to a live site.
One solution I’ve come across is to not update the live site with content until changes have been finished on the staging site (staging site is for deving only, by me, and the live site is controlled by the client, so they can, and do, make updates to the live site). But this isn’t an option with the latest update that is wanting to be done (74 posts as part of a custom post type will have a completely different backend for a completely new layout, as well as all the content being rewritten).
Another, which isn’t really a solution, more of a ‘buffer’ as I like to think it, is to have a second staging alongside the first one. The first one has only demo information, to change all the code, the second is where all the content is kept, constantly in sync with the live site (or perhaps even using the same database but most likely not), and then putting all the changes on the second staging, and fixing all the problems that come up before putting it onto the live server.
The last one, which isn’t a solution, is dropping the live database after taking a backup of it, uploading the staging database to the live site, after manually inputting all the data from the new stuff on the live site (this requires full knowledge of what the client has updated since changes had been made).
I’ve looked into several plugins to help with this, but pretty much none that I’ve seen have a ‘partial sync’ functionality integrated into it.
Would greatly appreciate any comments and advice on this problem.