Intereting Posts
Проблема с первым порядком отображения верхней страницы Удалить из массива в контуре WP_Query Как сделать WP_User_Query в WordPress 3.0.1? Автоматическое заполнение иерархической таксономии из настраиваемого поля Пользовательская разметка с помощью wp_nav_menu на основе страниц Укажите URL-адрес файла образа приложения в виде GUID Невозможно изменить цвет наведения для ссылок Запросить данные WP с помощью API WPDB извне WordPress как json_encode (); содержимое Loop, чтобы закодированный массив был Создание страницы шаблона блога Как я могу использовать WordPress Loop и Pagination в нескольких экземплярах, но разные сценарии на моем сайте? Лучший способ создать поиск по типу персонализированного пользовательского значения поля База данных «Миграция» для плагинов? Должен ли я избегать атрибутов при использовании get_month_link? WordPress 4.2.3 в Windows Server 2008 R2 Создание файлов только для чтения

Как отсортировать этот список липких сообщений

Вот мой код, который доставит мне все липкие сообщения на моем сайте.

$sticky = get_option( 'sticky_posts' ); $args = array( 'posts_per_page' => -1, 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ); $query = new WP_Query( $args ); while ($query->have_posts()) { //while loop starts $query->the_post(); ?> <a href="<?php echo the_permalink();?>"><?php echo get_the_ID();?></a> <?php $post_categories = wp_get_post_categories( get_the_ID() ); $cats = array(); foreach($post_categories as $c){ $cat = get_category( $c ); $cats[] = $cat->slug; } foreach($cats as $cat){ echo $cat; } echo '<br>'; } //while loop ends 

В настоящий момент он отображает только идентификатор сообщения со ссылкой на сообщение И категорию-slug категории, к которой принадлежит сообщение. Вот как выглядит результат.

введите описание изображения здесь

Теперь мне нужно, чтобы этот список был «упорядочен в алфавитном порядке» со значениями «категории-slug». Так что это выглядит примерно так.

введите описание изображения здесь

Пожалуйста, дайте мне знать в комментариях, если мой вопрос кажется неясным или если я что-то пропустил. Мне не нужен весь код (хотя это было бы здорово), но предложение или идеи о том, как это можно сделать.

Это должно сделать трюк:

 $sticky = get_option( 'sticky_posts' ); $args = array( 'posts_per_page' => -1, 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ); $query = new WP_Query( $args ); $ids_by_category = array(); while ($query->have_posts()) { $query->the_post(); $post_categories = wp_get_post_categories(get_the_ID()); foreach($post_categories as $c){ $cat = get_category($c); $ids_by_category[$cat->slug][] = get_the_ID(); } } // sort by key ksort($ids_by_category); foreach ($ids_by_category as $category_slug => $ids) { foreach ($ids as $id) { printf( '<a href="%s">%d</a> %s<br>', get_permalink($id), $id, $category_slug ); } }