ログインしてない場合のみ、任意のメンテナンステンプレートを表示する

/**
 *  ログインしてない場合にメンテナンステンプレートを表示する
 *
 * @param string $template 表示するテンプレートファイル名.
 */
function mgn_load_maintenance_template( $template ) {
	if ( ! is_user_logged_in() ) {
		$template = locate_template( array( 'maintenance.php' ) );
	}
	return $template;
}
add_filter( 'index_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( '404_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'archive_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'attachment_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'author_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'category_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'date_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'embed_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'frontpage_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'home_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'page_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'paged_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'privacypolicy_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'search_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'single_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'singular_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'tag_template', 'mgn_load_maintenance_template', 10, 1 );
add_filter( 'taxonomy_template', 'mgn_load_maintenance_template', 10, 1 );

参考