Как правильно организовать каталог по custom post type?
Люди скиньте ссылку как правильно сделать
Нужен каталог простенький- это я могу сделать через custom post type + acf
но как этот каталог разбить на категории?
это нужно таксономии подключать? или как правильно сделать?
Может есть где то пример в сети как его организовать?
на впкама смотрел, что то не понятно, может не тот линк надыбал
Спасибо
Дополнительно
Вова Дружаев @OtshelnikFm Куратор тега WordPress Обо мне расскажет yawncato.com register_taxonomy() - хоть одну, хоть 10-ть таксономий регай. Зависит от задач. Ну и в них нужные создавай - по типу категорий что упомянул
- Подскажите пожалуйста
как мне разделить типы постов по таксономиям
вот допустим я вывожу пост тип news, но в нем есть таксономии(категории в общем)
мне нужно вывести в табах отдельные таксономии из post news, как это сделать?<?php // Запрашиваем продукты $query = new WP_Query( [ 'post_type' => 'news', 'posts_per_page' => 9, 'paged' => get_query_var( 'page' ), ] ); // Обрабатываем полученные в запросе продукты, если они есть if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post();?> <div class="news-item"> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <p><?php $content = get_the_content(); echo mb_strimwidth($content, 0, 120, '.');?></p> </div> <?php } wp_reset_postdata(); }
<?php // Запрашиваем продукты $query = new WP_Query( [ 'post_type' => 'news', 'posts_per_page' => 9, 'paged' => get_query_var( 'page' ), ] ); // Обрабатываем полученные в запросе продукты, если они есть if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post();?> <div class="news-item"> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <p><?php $content = get_the_content(); echo mb_strimwidth($content, 0, 120, '.');?></p> </div> <?php } wp_reset_postdata(); }
буду очень благодарен
- rootnoroot, через get_terms() указав в аргументе 'taxonomy' нужную для типа записи
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Правильная схема для простого каталога такая: custom post type хранит карточки объектов, таксономия делит их на категории, ACF хранит характеристики, а шаблоны отвечают за вывод. Категории не стоит делать отдельным ACF-полем, если по ним нужно строить архивы, табы, фильтры или SEO-страницы. Для этого в WordPress есть register_taxonomy.
add_action('init', function () { register_post_type('news', [ 'label' => 'Новости', 'public' => true, 'has_archive' => true, 'show_in_rest' => true, 'supports' => ['title', 'editor', 'thumbnail', 'excerpt'], ]); register_taxonomy('news_category', ['news'], [ 'label' => 'Категории новостей', 'public' => true, 'hierarchical' => true, 'show_admin_column' => true, 'show_in_rest' => true, 'rewrite' => ['slug' => 'news-category'], ]); });
После регистрации в админке у записей news появится блок категорий. Для табов сначала получаете термины этой таксономии:
$terms = get_terms([ 'taxonomy' => 'news_category', 'hide_empty' => true, ]);
А для вывода записей выбранной вкладки делаете WP_Query с tax_query:
$query = new WP_Query([ 'post_type' => 'news', 'post_status' => 'publish', 'posts_per_page' => 9, 'tax_query' => [[ 'taxonomy' => 'news_category', 'field' => 'slug', 'terms' => $current_term_slug, ]], ]);
Для шаблонов обычно используют archive-news.php для общего архива, single-news.php для карточки и taxonomy-news_category.php для страниц категорий. Если каталог выводится внутри обычной страницы, можно сделать shortcode или отдельный шаблон страницы. URL и slug таксономии лучше продумать сразу: после индексации менять их можно только с 301-редиректами, иначе получите битые ссылки и просадку SEO.