How to use a custom post type archive as front page in WordPress?

admin

Administrator
Staff member
I'd like to use a custom post type archive as a site's front page, so that

Code:
 http://the_site.com/

is a custom post type archive displayed according to my
Code:
archive-{post-type}.php
file.

Ideally I would like to alter the query using
Code:
is_front_page()
in my
Code:
functions.php
file. I tried the following, with a page called "Home" as my front page:

Code:
 add_filter('pre_get_posts', 'my_get_posts');
 function my_get_posts($query){
     global $wp_the_query;
     if(is_front_page()&&$wp_the_query===$query){
        $query->set('post_type','album');
        $query->set('posts_per_page',-1);
     }
     return $query;
 }

but the front page is returning the content of "Home" and seems to be ignoring the custom query.

What am I doing wrong? Is there a better way, in general, of going about this?

<em>Note: I did post this in <a href="https://wordpress.stackexchange.com...-use-a-custom-post-type-archive-as-front-page">WordPress Answers</a> but that community is comparatively tiny.</em>