Автор
svg
(@svg)
Вот, нашел в сети. Решение не самое изящное, но, похоже, без предварительного создания массива с категориями не обойтись…
// создаем массив с параметрами сортировки категорий
$args = array(
'orderby' => 'name',
'order' => 'ASC'
);
// получим категории
$categories = get_categories($args);
foreach ($categories as $category) {
// выведем посты из категории
// задаем нужные нам критерии выборки данных из БД
$args = array(
'posts_per_page' => -1,
'cat' => $category->term_id
);
$query = new WP_Query($args);
// Цикл
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
} else {
// Постов не найдено
}
/* Возвращаем оригинальные данные поста. Сбрасываем $post. */
wp_reset_postdata();
}