I was wondering about one thing and I want to ask you about your opinion.
Let’s say I’m creating review theme, where all additional data about review (like rating, genre etc) is added via Custom Fields. So user of this theme is adding more and more reviews, but one day he decides that he no longer likes this themes, so he finds another, install it and BOOM , all additional data is gone.
Of course it’s still in database but adding it again would require changes in new theme’s code. I know as developers we could say – “not my cup of tea”, but I personally don’t think it’s fair, and even if I’d like them to stay with my themes forever, I believe most of WordPress user are getting bored with themes after some time and they change them frequently (and that’s how this business roll;))
And my problem here is – how can we make it easier for user to switch theme without big headache and question “where’s my data, dude?”.
I’d loved to get your opinion on these.
I don’t think it’s something you can control, because it will always depend on how another theme displays the data.
So, no matter how you store it in the database, I think this cannot be avoided. Even if you create a plugin, or use post types… what if the next theme has no code display them in the front end? Or what if it displays them in a totally different manner?
I imagine creating a plugin for the theme, that checks whether the theme is activated. If it’s not activated, it displays a message ‘Dude, don’t panic, your data isn’t gone – it’s still in the database. You’re not seeing it because you’re using a different theme than “mytheme” .’
Then, you could provide instructions on how to display each custom field in the front end for any theme (code samples, tutorials).
But…. is it really worth it?
Probably not worth it. But it always bugged me, that if theme uses e.g custom post types then user needs to stay with it forever with his content, or pay someone to migrate it to new theme. But you’re right, there’s no way to control it.
[...] if theme uses e.g custom post types then user needs to stay with it forever with his content, or pay someone to migrate it to new theme. [..]
Well, as you know, this applies for any site, no matter if we talk about WP, Drupal, Joomla, Magento, etc. .
Since we can’t control that, I think the most important thing here is to have the customer understand from the very beginning that it’s a custom/niche solution – therefore adapting a redesign to the content is inevitable.