I'm creating a website based on WordPress, but it's not a blog and very much a sui generis website, so I'm developing a plugin that will add the various features I need.
In particular, I have created a custom post type for a special type of pages, which can be created by any person who has subscribed to the website. But in order to create such custom posts, subscribers will need to fill a complicated multistep form, which is used to store data in various custom tables in the database, not just
wp_posts. This multistep form is so different from the regular post creation/edit page in WordPress that it doesn't really make sense to try to customize it by adding custom fields, meta boxes, etc.
Moreover, I don't want subscribers to be sent to the dashboard, which is to be seen only by administrators. So I want the custom post creation/edit page to be part of the frontend, not the dashboard, although I want administrators to be able to access it from the list of custom post types in the dashboard. Basically, when the administrator clicks on a post in the list of custom post types in the dashboard, he is sent to the same page, seemingly part of the frontend, as regular users who create/edit such a custom post.
I don't have much experience with WordPress development, so I'm not sure what's the best way to do this. Right now, I'm thinking that I just need to create a creation/edit page from scratch, using
get_footer to include the header and footer so it integrates with the rest of the frontend, and somehow customize the dashboard so that administrators are also sent to that page when they click on a custom post in the dashboard to edit it. I just want to make sure that it's the right way to do this and that I shouldn't use some other method that I don't know about.