На сайте есть страница, где выводятся термины. термины подразделяются на рубрики и эти рубрики с терминами выводятся в столбцы. Я создал кастомный тип записей "Термины" и создал рубрику для них "Тип термина". Когда вывожу записи на страницу. То термины не привязываются к отмеченной рубрике, а отображаются сразу во всех рубриках. Надеюсь понятно объяснил.
//Кастомный тип ТЕРМИНЫ
function cptui_register_my_cpts_terms() {
$labels = array(
"name" => __( 'Термины', 'twentytwelve' ),
"singular_name" => __( 'Термин', 'twentytwelve' ),
"menu_name" => __( 'Термины', 'twentytwelve' ),
"all_items" => __( 'Все термины', 'twentytwelve' ),
"add_new" => __( 'Добавить термин', 'twentytwelve' ),
"add_new_item" => __( 'Добавить новый термин', 'twentytwelve' ),
"edit_item" => __( 'Редактировать термин', 'twentytwelve' ),
"new_item" => __( 'Новый термин', 'twentytwelve' ),
"view_item" => __( 'Просмотреть термин', 'twentytwelve' ),
"view_items" => __( 'Просмотреть термины', 'twentytwelve' ),
"search_items" => __( 'Поиск терминов', 'twentytwelve' ),
"not_found" => __( 'Термины не найдены', 'twentytwelve' ),
"not_found_in_trash" => __( 'Термины не найдены в корзине', 'twentytwelve' ),
);
$args = array(
"label" => __( 'Термины', 'twentytwelve' ),
"labels" => $labels,
"description" => "Термины",
"public" => true,
"publicly_queryable" => true,
"show_ui" => true,
"show_in_rest" => false,
"rest_base" => "",
"menu_icon" => "dashicons-list-view",
"has_archive" => 'terms',
"show_in_menu" => true,
"exclude_from_search" => false,
"capability_type" => "post",
"map_meta_cap" => true,
"hierarchical" => false,
"rewrite" => array( "slug" => "terms", "with_front" => true ),
"query_var" => true,
"supports" => array( "title", "editor", "thumbnail", "custom-fields", "revisions" ),
);
register_post_type( "terms", $args );
}
add_action( 'init', 'cptui_register_my_cpts_terms' );
//Новая таксономия ТЕРМИНЫ
function cptui_register_my_taxes_terms_types() {
$labels = array(
"name" => __( 'Тип терминов', 'twentytwelve' ),
"singular_name" => __( 'Тип термина', 'twentytwelve' ),
"all_items" => __( 'Все типы терминов', 'twentytwelve' ),
"edit_item" => __( 'Редактировать тип термина', 'twentytwelve' ),
"add_new_item" => __( 'Добавить новый тип термина', 'twentytwelve' ),
);
$args = array(
"label" => __( 'Тип термина', 'twentytwelve' ),
"labels" => $labels,
"public" => false,
"hierarchical" => true,
"label" => "Тип термина",
"show_ui" => true,
"show_in_menu" => true,
"show_in_nav_menus" => true,
"query_var" => true,
"rewrite" => false,
"show_admin_column" => false,
"show_in_rest" => false,
"rest_base" => "",
"show_in_quick_edit" => false,
);
register_taxonomy( "terms-types", array( "terms" ), $args );
}
add_action( 'init', 'cptui_register_my_taxes_terms_types' );
<div class="content">
<div class="terms-row">
<?php
$terms_type = get_terms(array(
'taxonomy' => 'terms-types',
'hide_empty' => 0,
));
?>
<?php if ( $terms_type ) { ?>
<?php foreach ( $terms_type as $type ) { ?>
<div class="terms-col">
<h3><?php echo $type->name; ?></h3>
<?php $terms = new WP_Query(array('post_type' => 'terms')); ?>
<?php if ($terms->have_posts()) : while ($terms->have_posts()) : $terms->the_post(); ?>
<div class="terms-item">
<h4 class="terms-item-title"><span><?php the_title(); ?></span></h4>
<div class="terms-content">
<?php the_content(); ?>
</div>
</div>
<?php endwhile;
else: echo '<h2>Извините, ничего не найдено...</h2>'; endif; ?>
<?php wp_reset_query(); ?>
</div>
<?php } ?>
<?php } ?>
</div>
</div>