<?php
add_theme_support( 'post-thumbnails' );
// сверху добавляем зарегистрированным постам миниатюру, снизу функция регистрации кастомного типа поста
function loft_create_post_type() {
register_post_type( 'nameposttype',
array(
'labels' => array(
'name' => __( 'имя в админке' ),
'singular_name' => __( 'имя в админке' ),
),
'menu_position' => 25,
'supports' => array('thumbnail','title','editor','post-formats'),
'public' => true,
'has_archive' => true,
)
);
}
add_action( 'init', 'loft_create_post_type' );
?>
Создаем кастомный тип записи в файле functions.php, после чего находим её в админке.
Далее обычным циклом выводит все посты которые были созданы в нем:
<?php $args = array( 'post_type' => 'nameposttype', 'posts_per_page' => 99(сколько нужно вывести записей) ); $loop = new WP_Query( $args ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
// шаблон вывода поста
<?php endwhile; ?>
А для остальных полей типо описание имя, используйте ACF, и в выводе полей укажите ваш тип записи, подробнее в комментарии.