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
- Custom Post Type Archives by Year & Month?
- Get custom post type slug for an archive page
- Custom Post Type Settings page, choose page to display archive
- Custom Post Type Archives by Date with Custom Permalink
- Post formats “audio” and “video” only showing in index.php
- Change title in head on Archive page
- Creating a Custom Post Type for Inserting Preset Content into Post & Pages?
- WordPress calls archive page instead of Custom Page Template
- How do I Make a custom post type get a custom post template in a plugin
- Dynamic page.php template for custom post types
- is_singular won’t call my functions?
- Pagination on a custom page template
- Pages, Custom Posts & Custom Taxonomy defining slug structure
- How to show a tag archive of one post type only
- Pagination problems with multiple custom post type archive pages
- Change plugin’s has_archive = true to false?
- Multiple templates for custom post type
- wrong template for page of archive
- How to make an archive page displaying posts in a date range
- Slug for standard post post_type
- Category page only displaying the posts from a custom type
- Multiple portfolios with one custom post type?
- Take Variables Set in Functions.php and Echo Them Inside My Custom Post Template
- Custom Blog Post Listing in Genesis Sample Child Theme
- Display custom post type taxonomies as an archive page
- Pull in custom content types into page template
- Change name of custom post type archive
- Rewrite URL for only archive page (custom post type)
- Archive slider for CPT
- How to show the archive / post type description on Single templates
- is_main_query() not working for WP REST API
- Archive template for custom post type only lists first 10
- Custom Page that comes with preloaded content for the user
- get the custom post type title/name
- Get archive post type name
- Filtering WP_Query
- Custom post type – get_day_link()
- redirect automatic page that serves custom posttype content
- How do I check if the user is on a taxonomy term parent, child or grandchild page?
- Show Custom Post Type meta boxes only on Page Edit
- Creating a Page Template to display all items from a Custom Post Type
- Filter widget outputs
- Why does my content disapear when I make a page to match an archive name?
- Custom post type / taxonomy rewrite archive page 2 gives 404
- Fields for different parts of a page
- How do you create a custom template to display a category with an image and related posts below?
- How can I set the page template of a new custom post type post?
- how to remove pages loading with the archive templates
- Which Template Page Should I Use?
- WordPress Picks Up Wrong Template for Custom Post Type Archive Page
- Associate page w/ specific single post template?
- Pagination doesn’t function properly for archive of a custom post type set as the front page
- get comments by current user inside page template
- Archiving custom post content?
- How to rewrite custom taxonomy term archive to use THE SAME SLUG/front as CPT
- Get the link of the first post of a custom taxonomy in a custom taxonomy list
- How can I relate custom post types?
- Display CPT index page as front/home page
- Event Archive by Month
- Display custom post type from template
- Display all Categories except ones with a specific parent
- How to achieve a multi-taxomony layout with posts?
- A certain theme is forcing it’s singular post layout
- Creating archive like functionality through birectional relationships
- How do I find out which (page) template file my custom child post is looking for?
- Tell wordpress to show a single page instead of an archive page
- How can I use one instance of page.php to display different custom post types?
- Custom post Query and WordPress Post Query Clash
- How can i remove post type archive URL?
- Custom post type URL structure with site.com/custom_taxonomy_slug/post_name
- How to display a custom post as a page (but unedited)?
- Custom post type , page template not grabbing the page template
- Custom taxonomy archive slug overwrites static page
- Get Non-Paginated Index of Post in Paginated Query
- Rewriting archive page slug to be different than custom post type slug
- custom post type archive slug vs. custom page template
- Site loads very slow for archive custom post type page
- How to create a custom template for this custom post type?
- Nested custom post types templating
- How to divide posts (custom post type) content on multiple pages?
- How can I set up the URL for a category archive for a custom post type?
- Generate daily archive whenever any post type is added
- Page template anomaly
- Show custom category archive as front page and remove taxonomy slug from urls
- I want to show a list of post with title that have link goes to that post and icon under the specific category to which it belongs