The correct way is latter one – correctly configure your CPT registration to have post type archive and use appropriate template file for it.
However it gets tricker with your additional requirements.
Exposing post type archives to be used in menus is significantly requested/explored topic, but I don’t think it made it into core yet. There are mutiple solutions floating around, from quick search I have Post Type Archive Link plugin for it bookmarked.
Front page stuff is very convoluted. It’s probably doable but unlikely to be smooth and will probably take some pre_get_posts
tinkering and possibly overriding template hierarchy logic around there.
Related Posts:
- How to get the custom post type from an archive page?
- Loading custom page template via plugin
- WordPress custom post type archive with description
- Editable content on a Custom Archive page
- Change archive page template using pre_get_post
- Why is my site using index.php instead of archive?
- WordPress showing archive.php instead page
- Custom post type archive page blank
- How to integrate single and archive templates for custom post type in any WordPress theme
- How can I allow users to edit text that will be displayed on a custom post type archive page?
- Is possible register two archive pages for single custom post type?
- Show index and not the archive for “Dog Custom Post” with default slug
- How to display custom post types AND regular posts separately on a shared taxonomy archive?
- how to pass args for archive.php query?
- WordPress CPT archive page display sticky post first and then display the rest of the posts in same Query
- Archive not sorting correctly
- Multiple single templates?
- Problems with 404, .htaccess, permalinks and WordPress custom posts locally on Snow Leopard
- What’s the name of the custom post type yearly archive template?
- how to remove pages loading with the archive templates
- Archieve.php not loading for custom post type
- multiple custom post type on category page
- Custom URL redirect in WP
- Custom Post type & Taxonomy 404
- Which Template Page Should I Use?
- WordPress Picks Up Wrong Template for Custom Post Type Archive Page
- Associate page w/ specific single post template?
- Display custom post types in wp_list_pages
- How can I use archive-{post_type}.php theme template?
- Taxonomy archive 404ing (not term archive)
- Pagination doesn’t function properly for archive of a custom post type set as the front page
- Include php on a specific page template
- Return the name of the post type
- get comments by current user inside page template
- page template for custom post type
- Page Template Dropdown For Custom Post Types
- Assign CPT archive page attributes
- Set a hard-coded page-template (post-type-archive) as home/front-page of my wordpress blog?
- Custom taxonomy or custom page templates?
- Dynamically insert an article at the top of a taxonomy archive – or?
- Archiving custom post content?
- archive as a page, so that it can be added in the wp_menu_nav
- Can anyone clarify difference between archive-{posttype}.php, type-{posttype} and date.php?
- How do I add custom HTML to the content of an archive page’s posts?
- Only show posts with a specific term of an associated taxonomy in a custom post type archive
- Archive links for custom post types
- Show All Custom Post Types On A Single Archive Page
- Use the custom post type archive for taxonomies?
- providing access to post_id or post inside functions.php
- Custom post type permalink uses archive page to display posts
- How to rewrite custom taxonomy term archive to use THE SAME SLUG/front as CPT
- wp_get_canonical_url showing first url of the post for custom page
- Custom page for editing custom post type on frontend based on url
- Custom Post Type setup
- Archive Page for Multiple Custom Post Types
- Taxonomy template page not working
- Can’t access private custom posttype single- or archives-page
- Dynamic assign a custom template to custom post type posts
- Display Date & Author Info on Custom Post Type Archive Page
- How to get the current category with custom posts
- How to constrain the results to a specific post_type on tag archive page?
- Get the link of the first post of a custom taxonomy in a custom taxonomy list
- CPT with its own category and tag url
- How do I display child post types in the parent post type template
- How can I relate custom post types?
- Custom Post Type Archive template not being called
- Can’t replace the default sidebar with a custom sidebar on Custom Post Type in Genesis
- Dynamic category name in query post
- How can I modify a custom post type and custom page template for a child theme if all content seams to be handled by theme’s ‘native’ plugin?
- Custom Post Type Archive Pagination
- How to add page under a custom post type?
- Custom permalink structure for remote content pages
- Enabling permalinks disables custom page template
- How to know which archive page is active
- Need to have an archive widget which organizes and displays a custom post type using a custom date field
- Custom Post Type Specific Post Template
- Archive page for custom post type and custom taxonomy
- Mixing Custom Post Types and Page Templates in WordPress 3.7.1
- Archive Template being used instead of Category Template for Custom Post Type
- Custom Post Type Template Insert not working properply
- Why does my URL keep returning 404 error code?
- pre_get_posts works in post type archive but not in single post
- Menu’s breaking, now showing all page links on site
- Display CPT index page as front/home page
- How to prevent a custom post type from using the archive.php template?
- Loop and add Specific Categories and Products Images
- custom post template ignored after altering permalinks
- Event Archive by Month
- How do I override the default number of items to be listed on an archive.php page? [duplicate]
- How to have multiple archive pages?
- Create a Custom Path to Archive
- Advanced archive url structure (category, tag and date)
- Custom Post Type Date Based Archive URL rewrite [duplicate]
- Custom Post Type page template doesn’t show up
- Best way for a plugin to define a custom post type archive template?
- How can I increase the post count for custom post types only?
- Using get_terms() to list terms from one custom taxonomy AND from one specific built-in category
- How can I tell if I’m on a custom post type archive page?
- Listing authors and date archive from custom post type
- Display ONE taxonomy and its assigned pages