Первым делом самолеты, добавляем в functions.php то что ниже,
<? /*-----------------------------------------------------------------------------------*/ /* Каталог проектов /*-----------------------------------------------------------------------------------*/ function my_custom_post_kat() { $labels = array( 'name' => _x( 'Каталог проектов', 'post type general name' ), 'singular_name' => _x( 'Каталог проектов', 'post type singular name' ), 'add_new' => _x( 'Добавить проект', 'kat' ), 'add_new_item' => __( 'Добавить новый проект' ), 'edit_item' => __( 'Редактировать проект' ), 'new_item' => __( 'Новый проект' ), 'all_items' => __( 'Каталог' ), 'view_item' => __( 'Смотреть проект' ), 'search_items' => __( 'Найти проект' ), 'not_found' => __( 'Проекты не найдены' ), 'not_found_in_trash' => __( 'Нет удаленных проектов' ), 'parent_item_colon' => '', 'menu_name' => 'Проекты' ); $args = array( 'labels' => $labels, 'description' => 'Проекты', 'public' => true, 'menu_position' => 5, 'menu_icon' => 'dashicons-category', 'supports' => array('title','editor','custom-fields','revisions','thumbnail','excerpt'), 'has_archive' => true, ); register_post_type( 'kat', $args ); flush_rewrite_rules(false); } add_action( 'init', 'my_custom_post_kat' ); /* если предусмотрены рубрики или там категории, то кусок ниже тоже добавить*/ function my_taxonomies_kat() { $labels = array( 'name' => _x( 'Разделы', 'taxonomy general name' ), 'singular_name' => _x( 'Раздел', 'taxonomy singular name' ), 'search_items' => __( 'Найти категорию' ), 'all_items' => __( 'Все' ), 'parent_item' => __( 'Родительская категория' ), 'parent_item_colon' => __( 'Родительская категория:' ), 'edit_item' => __( 'Редактировать категорию' ), 'update_item' => __( 'Обновить категорию' ), 'add_new_item' => __( 'Добавить категорию' ), 'new_item_name' => __( 'Новая категория' ), 'menu_name' => __( 'Разделы' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, ); register_taxonomy( 'kat-prov', 'kat', $args ); } add_action( 'init', 'my_taxonomies_kat', 0 ); ?>
Слаг у нас получается kat
значит шаблон сингл записи будет single-kat.php у архива archive-kat.php и у таксономии taxonomy-kat-prov.php
Кастомно это дерьмо можно так вывести
<?php $query = new WP_Query( array('post_type' => 'kat','posts_per_page' => 20) );?> <?php while ( $query->have_posts() ) : $query->the_post(); ?> <a href="<?php the_permalink(); ?>"><?php the_title();?></a> <?php endwhile; wp_reset_query(); ?>
Вывести из опред рубрики кастомного поста
<?php $query = new WP_Query( array( 'post_type' => 'doctor', // name of post type. 'posts_per_page' => 20, 'tax_query' => array( array( 'taxonomy' => 'otdel', // taxonomy name 'field' => 'term_id', // term_id, slug or name 'terms' => 33, // term id, term slug or term name ) ) ) ); ?> <?php while ( $query->have_posts() ) : $query->the_post(); ?> <div class="sotrudnik"> <div class="sotrudniki_foto_block"><?php the_post_thumbnail(); ?></div> <p align="center"><strong><?php the_title() ?></strong></p> <?php the_content();?> </div>< <?php endwhile; ?>
Произвольные типы записей в WordPress, добавление по шаблону