The Wordpress and Opencart installations are separate, each with their own admin. Neither is there any relationship between registered users of the two. This suits me because I only want people to register as (Opencart) customers and I want to manage content and catalogue separately anyway.
They share common stylesheets so the two designs stay the same but the biggest advantage comes from the fact that everything is in a single database.
Wordpress is now multi-site, Opencart is multi-shop so the separate 'departments' (Schoolwear, Workwear, Sportswear...) and seperate stores (England, Scotland, Wales...) all reside in a single database which makes it very easy to share data either as site or report content.
I also have a (Microsoft) back-office (written in VB and using ODBC) which controls parts of both. The intension is that this will not only control content, but also provide much more sophisticated Stock Control, Order Processing, Invoicing, Email/Communication, Label Printing, Invoicing, Accounts Integration, Ad-hoc Querying, Reporting etc., etc.
I am currently playing with images stored directly as blobs in the database so that there is no concept of image files or FTP for users (though they will still be automatically generated for cache).
I also need to allow individual shops to use their own payment modules (or at least account), and restrict Admin content for three roles, the lowest only having access and visibility of their own shop. I made some headway on this using $this->user->getId() but have now abandoned this in favour of doing it at back-office rather than site-admin level.
+ + +
I should say that computing is not my profession. I am a self-taught 'jack-of-all-trades' with very little PHP experience until a few months ago so I have a book open on my knee most of the time I am trying to do anything.