• Решено tehnoacid

    (@tehnoacid)


    Здравствуйте!
    Настроил сортировку постов в категории по произвольному полю itogi, куда вносятся цифры 0, 1, 2 или 3. Следовательно может быть несколько записей с одинаковой цифровой (получаются группы записей). Сортировка по этому полю происходит нормально, но сами записи в каждой группе выводятся в хаотичном порядке (нет сортировки ни по дате, ни по заголовку, ни по ID). Ниже приведён цикл:

    <?php
    usort($posts, 'itogi_sort');
    function itogi_sort($b, $a) {
    $ar = get_post_meta($a->ID, 'itogi', true);
    $br = get_post_meta($b->ID, 'itogi', true);
    if ($ar == $br) return 0;
    return ($ar < $br) ? -1 : 1;
    }
    if (have_posts()) : while (have_posts()) : the_post();
    ?> 
    
    <?php the_title(); ?>
    
    <?php endwhile; else: ?>
    <?php endif; ?>

    Можно как-то ещё сделать сортировку в каждой отдельной группе, например, по заголовку или по дате публикации?

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Ииспользуйте перед циклом query_posts. Сортировку можно там же настроить без произвольных полей.
    Либо плагинами, например, этими.

    У WP_Query параметр orderby ‘meta_value_num’ — сортировка по числовому значению, (не по алфавиту).
    $the_query = new WP_Query( array( 'meta_key' => 'itogi', 'orderby' => 'meta_value_num', 'order' => 'ASC' ) );
    link

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Сортировка в сортировке» закрыта для новых ответов.