In addition to @Rarsts answer, once you’ve created a custom post type with archive like this example:
//* Create product custom post type
add_action( 'init', 'register_product_custom_post_type' );
function register_product_custom_post_type() {
register_post_type( 'product',
array(
'labels' => array(
'name' => __( 'Product', 'wpsites' ),
'singular_name' => __( 'Product', 'wpsites' ),
),
'has_archive' => true,
'hierarchical' => true,
'menu_icon' => 'dashicons-portfolio',
'public' => true,
'rewrite' => array( 'slug' => 'product', 'with_front' => false ),
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes' ),
'taxonomies' => array( 'product-type' ),
));
}
You can also control that archive using pre_get_posts.
add_action( 'pre_get_posts', 'customize_custom_post_type_archive' );
function customize_custom_post_type_archive( $query ) {
if ( is_post_type_archive('product') && $query->is_main_query() )
$query->set( 'posts_per_page', '6' );
$query->set( 'order', 'ASC' );
return $query;
}
You can then add your CPT archive link as a custom URL to your menu