Olá Gisele,
Você pode sim fazer isso com um custom post type.
Exemplo de criação de um custom post type (com apenas título e imagem):
// Arquivo functions.php
function slide_post_type()
{
$labels = array(
'name' => 'Slide Principal',
'singular_name' => 'Slide',
'menu_name' => 'Slide',
'name_admin_bar' => 'Slide',
'archives' => 'Slide',
'add_new_item' => 'Adicionar novo Slide',
);
$args = array(
'label' => 'Slide',
'description' => 'Slideshow da página inicial',
'labels' => $labels,
'supports' => array('title', 'thumbnail'),
'taxonomies' => array(),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-format-gallery',
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => true,
'publicly_queryable' => true,
'capability_type' => 'post',
'show_in_rest' => true,
);
register_post_type('slide', $args);
}
add_action( 'init', 'slide_post_type' );
E então para pegar cada slide e mostrar você pode usar um loop personalizado:
// Nome do seu custom post type
$post_type = 'slide';
// Número de slides que você quer buscar (-1 para buscar todos)
$num_slides = 5;
$loop = new WP_Query( array( 'post_type' => $post_type, 'posts_per_page' => $num_slides ) );
if( $loop->have_posts() ){
while( $loop->have_posts() ) {
$loop->the_post();
// url da imagem do slide
$imagem = get_the_post_thumbnail_url(null, 'full', '');
}
}
Você vai então editar essa parte do loop para criar o seu slide, seja com bootstrap ou outra biblioteca.
Espero ter ajudado, qualquer dúvida pode perguntar.