Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save bappi-d-great/f06ca7dbe37d860337fe to your computer and use it in GitHub Desktop.
Save bappi-d-great/f06ca7dbe37d860337fe to your computer and use it in GitHub Desktop.
How to use custom post type archive as front page
<?php
/*
* 1. Go to Settings > Permalinks and select any page as home page
* Then use the following code
*
* You can add those codes in your functions.php in the theme, if you think your theme won’t be changed.
* Otherwise mu-plugins is the best solution. To use mu-plugins, go to /wp-content/ and find the folder with name 'mu-plugins'.
* If there is no folder in that name, then create a folder, name it 'mu-plugins', create a file inside that,
* give any name you like and paste the code in there. You don't need to activate that plugin. Mu-plugins means must use plugins,
* so it will be activated automatically always. If you use mu-plugins then add a php start tag at the beginning of the code.
*
* Just change the correct CPT name
*/
add_action( "pre_get_posts", "archive_page_as_front_page" );
function archive_page_as_front_page( $query ){
if( is_admin() ) return;
if( $query->get( 'page_id' ) == get_option( 'page_on_front' ) ){
$query->set( 'post_type', 'SET YOUR CPT NAME' );
$query->set( 'page_id', '' );
$query->is_page = $query->is_singular = 0;
$query->is_archive = $query->is_post_type_archive = 1;
}
}
@kachan64
Copy link

Hey thanks for the code, but only shows page 1 content not the rest even if I clicked the next page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment