Произвольный тип записи в качестве статичной главной страницы WordPress

04.02.2022
function frontpage_cpt_frontpage_select( $pages ) {
	$args = array(
		'post_type' => 'my_cpt', //my_cpt - произвольный тип записи
	);
	$items = get_posts( $args );
	$pages = array_merge( $pages, $items );
	return $pages;
}
add_filter( 'get_pages', 'frontpage_cpt_frontpage_select' );
function frontpage_cpt_enable_frontpage( $query ) {
    if ( '' == $query->query_vars['post_type'] && 0 != $query->query_vars['page_id'] )
    $query->query_vars['post_type'] = array( 'page', 'my_cpt' ); //также добавляем my_cpt помимо page
}
add_action( 'pre_get_posts', 'frontpage_cpt_enable_frontpage' );

взято отсюда

Далее копируем весь код из single-$my_cpt.php и вставляем в front-page.php