Создал собственный тип записей:
add_action('init', 'create_post_type');
function create_post_type()
{
register_post_type(
'courses',
array(
'labels' => array(
'name' => 'Программы обучения',
'singular_name' => 'Программа обучения',
'add_new' => 'Добавить курс',
'add_new_item' => 'Добавление программы',
'edit_item' => 'Редактирование программы',
'new_item' => 'Новая программа',
'view_item' => 'Смотреть программу',
'search_items' => 'Искать программы',
'not_found' => 'Не найдено',
'not_found_in_trash' => 'Не найдено в корзине',
'parent_item_colon' => '',
'menu_name' => 'Курсы',
),
'public' => true,
'has_archive' => true,
'menu_position' => 4,
'menu_icon' => 'dashicons-welcome-learn-more',
'supports' => array(
'title',
'revisions',
'page-attributes',
'thumbnail'
),
)
);
}
и зарегистрировал таксу:
add_action('init', 'create_course_taxonomies');
function create_course_taxonomies()
{
register_taxonomy('type_course', array('courses'), array(
'hierarchical' => true,
'show_ui' => true,
'query_var' => true,
'show_admin_column' => true,
));
}
Добавил в админке записи, разделил их по категориям.
Пытаюсь получить записи, чтобы их вывести, но, почему-то, на выходе пустой массив.
Получаю так:
$courses_cats = get_terms('type_course');
foreach ($courses_cats as $courses_cat) {
$courses = get_posts(array(
'numberposts' => -1,
'category' => $courses_cat->term_id,
'orderby' => 'date',
'order' => 'DESC',
'post_type' => 'courses',
'suppress_filters' => true,
));
}