zachshallbetter
  • 0
Учитель

Группировка типов записей в цикле

  • 0

Когда пользователь выбирает определенную категорию из раскрывающегося списка, отображается список нескольких типов сообщений. Я хотел бы отображать данные в группах с заголовком типа сообщения выше в заголовке.

Я не уверен, как сегментировать в группы пост-типа. Я потратил немного времени на поиски, но не нашел именно то, что мне нужно.

Я также пытался добавить <?php $post_type = get_post_type( $post->ID ); echo $post_type; ?>, но это просто повторяется (очевидно).

вызов цикла

<div id="content" role="main" style="float:right; width:765px;">
    <?php
        $category_description = category_description();
        if ( ! empty( $category_description ) )
            echo '<div class="archive-meta">' . $category_description . '</div>';
        get_template_part( 'loop', 'support' );
    ?>
</div>

Петля

<?php else : ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <h2 class="entry-title" style="margin-bottom:3px;"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
        <span>type = <?php $post_type = get_post_type( $post->ID ); echo $post_type; ?> <?php echo get_post_meta($post->ID, "document-type", true); ?> <?php echo get_post_meta($post->ID, "software-type", true); ?></span>
<?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
        <?php the_excerpt(); ?>
        <span class="%1$s">Compatible with:</span><br />
        <?php if ( count( get_the_category() ) ) : ?>
                <?php printf( __( '%2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?>
        <?php endif; ?>
<?php else : ?>
<?php endif; ?>

    <div class="entry-utility">
        <?php
            $tags_list = get_the_tag_list( '', ', ' );
            if ( $tags_list ):
        ?>
            <span class="tag-links">
                <?php printf( __( '<span class="%1$s">Tagged</span> %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?>
            </span>
        <?php endif; ?>
    </div>
</div>
Share
  1. Да, я не думаю, что это то, что вы можете легко сделать изначально.

    Два пути, которые я вижу:

    1. Используйте posts_orderby для изменения SQL-запроса и упорядочения сообщений по типу сообщений, затем просто нужно проверить, чтобы заголовки не повторялись.

    2. Вместо того, чтобы перебирать сообщения в порядке возврата, возьмите массив из них и отсортируйте по типу сообщения перед циклом для вывода.

    • 0

Оставить ответ

You must login to add an answer.