it-swarm.com.ru

Показывать по одному элементу в категории пользовательского типа сообщения

У меня есть собственный тип, называемый портфолио с разными категориями. Я хочу отобразить все мои категории, кроме одной. Я хочу показывать только один элемент для каждой категории на своей странице.

Я бью свою задницу на это, и я только получаю свой цикл, чтобы показать все элементы в категории, но не могу получить только один элемент на категорию. Пока я показываю категории, но они повторяются, я не могу показать их только один раз на странице. Одна категория на страницу.

вот две петли, которые я попробовал.

Loop1

$args = array (
        'post_type' => 'portfolio',
        'category__not_in' => array(28,30),
    );

    $newQuery = new WP_Query($args);

    if ($newQuery -> have_posts() ):
        while( $newQuery-> have_posts() ): $newQuery-> the_post();
            echo get_the_term_list( $post->ID , 'portfolio_type'); 
        endwhile;
    endif;

    wp_reset_postdata();

Тестовый цикл 2

$args_cat = array (
        'taxonomy' => 'portfolio_type',
        'exclude' =>  '28,30',
    );
    $categories = get_categories($args_cat);

    foreach($categories as $category):

        $args = array (
            'post_type' => 'portfolio',
            'posts_per_page' => 1,
        );

        $newQuery = new WP_Query($args);

        if ($newQuery -> have_posts() ):
            while( $newQuery-> have_posts() ): $newQuery-> the_post();

                echo get_the_term_list( $post->ID , 'portfolio_type'); 

            endwhile;
        endif;

        wp_reset_postdata();
    endforeach;

Может кто-нибудь помочь мне спасибо ?!

1
Ebelanger
$args = array(
                    'taxonomy' => 'portfolio_type',
                    'exclude' => '28,30',
                    );
                $tax = get_terms($args);
                foreach($tax as $t){




                    echo '<div class="span3 produto-lista">';

                        $args = array(

                                  'tax_query' => array(
                                    array(
                                        'taxonomy' => 'portfolio_type',
                                        'field' => 'slug',
                                        'terms' => array($t->slug)
                                    )
                                ),
                                  'posts_per_page' => 1,
                                  'post_status' => 'publish',
                                  'order' => 'DESC',

                                  );
                        $query = new WP_Query( $args );




                        while ( $query->have_posts() ) {
                            $query->the_post();

                            ?>

                            <a href="<?php echo get_term_link($t); ?>">

                            <?php
                            the_post_thumbnail(); ?>
                            <h1>
                            <?php
                            echo $t->name; 
                            ?>
                            </h1>
                            </a>
                            <?php
                        }
                        wp_reset_query();
                    echo '</div>';
                }
1
Ebelanger