Ответы в темах

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Автор elephantsv

    (@elephantsv)

    Юрий. Вам код не выводил записи.
    Немного поправив его все вышло!!!!

    <?php 
    $all_terms = get_terms( 'one_taxonomy', array( 'hide_empty' => 0 ) );
    foreach (  $all_terms as $term ) { # внешний цикл
        echo "<h3>$term->name</h3>";
        echo "<ul>";
        $query = new WP_Query( array(
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'tax_query' => array(
                array(
                    'taxonomy' => 'one_taxonomy',
                    'field'    => 'slug',
                    'terms'    => $term->slug,
                )
            )
        ));
        
        while ( $query->have_posts() ) { # внутренний цикл
            $query->the_post();
            ?>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <?php  
        } # конец внутреннего
        echo "</ul>";
    } # конец наружного
    ?>

    Юрий, большое спасибо за Вашу помощь!!!!!
    Без Вас, я даже не знаю сколько бы времени потратил на решение этой проблемы…

    Автор elephantsv

    (@elephantsv)

    К сожалению пока что так и получается "ну, почти" :)
    Вывод всех термов автоматически осуществил благодаря Вашему коду. Спасибо большое! 🙂
    С get_the_terms() ознакомился. Спасибо! 🙂
    Я уже честно говоря закипаю, и путаться начинаю)
    Вывод всех постов из термов определенной таксономии Мы сделали.
    Вывод всех термов определенной таксономии Я сделал благодаря функции get_the_terms() .
    Код у меня теперь выглядит так:

    <?php 
            $all_terms = get_terms( 'category_product', array( 'hide_empty' => 0 ) );
    foreach (  $all_terms as $term ) {
            $terms[] = $term->slug;
    }
                    $query = new WP_Query( array(
        'tax_query' => array(
            'relation' => 'AND',
            array(
                'taxonomy' => 'one_taxonomy',
                'field'    => 'slug',
                'terms'    => $terms,
            )
        )
    ) );
        
     $categories = get_terms('one_taxonomy', 'orderby=name&hide_empty=0');
               
       if($categories){
    
                 foreach ($categories as $cat){
                  echo "<p>{$cat->name}</p>";
                               
                   }
                            
       }
                 
             while ( $query->have_posts() ) : $query->the_post(); ?>
    
                    <h3></h3>
                    <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
                 
        <?php endwhile;
        ?>

    Вопрос: Как теперь сделать выборку? В виде:

    Терм1
    запись Терм1
    запись Терм1
    запись Терм1
    
    Терм2
    запись Терм2
    запись Терм2
    запись Терм2

    и в таком духе?
    Цикл while добавлял внутрь цикла foreach. В итоге все созданные посты выводилить под каждым термом.

    Автор elephantsv

    (@elephantsv)

    Юрий, лед вроде тронулся 🙂
    Вот код который я на данный момент использую.

    <?php 
                    $query = new WP_Query( array(
        'tax_query' => array(
            'relation' => 'AND',
            array(
                'taxonomy' => 'one_taxonomy',
                'field'    => 'slug',
                'terms'    => array( 'dlja-mostiv', 'mastilni-materiali', 'olivi-v-dvigun', 'servisni-ridini-dlja-galmivnih-sistem', 'servisni-ridini-dlja-oholodzhujuchih-sistem' ),
            )
        )
    ) );
                    while ( $query->have_posts() ) : $query->the_post(); ?>
                                <h3><?php the_category(); ?></h3>
                                <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
                 
                <?php endwhile;
             ?>

    Выводит вроде как все правильно. Но если одна запись относится к двум терминам, то она выводиться только для термина который задан первым в массиве ‘terms’. Как это можно решить?
    Можно ли как-то автоматизировать добавление терминов в массив ‘terms’? Или это можно сделать только вручную?
    И как вывести термин записи?
    Спасибо.

    Автор elephantsv

    (@elephantsv)

    Воспользовался кодом:

    
    					<?php 
    						$args = array(
    					    'post_type' => 'partners_type',
    					    'post_status' => 'publish',
    					    'tax_query' => array(
    					        array(
    					            'taxonomy' => 'partners_category',
    					            'field'    => 'slug',
    					            'terms'    => $term->slug,
    					        ),
    					    ),
    					    'posts_per_page' => 3,
    					);
    					$query = new WP_Query( $args );
    
    					 while ( $query->have_posts() ) : $query->the_post(); ?>
    			            
    			                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                 
                <?php endwhile;
    					 ?>
    					

    Ничего не вывело, хотя для этой таксономии созданы записи. В какую сторону двигаться, подскажите. Что может быть не правильно?
    Спасибо.

    Автор elephantsv

    (@elephantsv)

    По поводу «partner_cat» понял.
    Таксономию при регистрации в «function.php» я назвал «product_category».
    В админке WP, создал для нее «категории»(если не правильно называю, просьба поправить:) )
    Назвал их: «one_cat», «two_cat».
    На странице «product_category» мне нужно вывести все «категории»(«one_cat», «two_cat») с записями которые относятся к определенной категории в формате:

    «one_cat»
    Запись №1 которая относиться к «one_cat»
    Запись №2 которая относиться к «one_cat»
    Запись №3 которая относиться к «one_cat»

    «two_cat»
    Запись №1 которая относиться к «two_cat»
    Запись №2 которая относиться к «two_cat»
    Запись №3 которая относиться к «two_cat»

    Автор elephantsv

    (@elephantsv)

    Юрий, если я Вас правильно понял.
    На странице «Каталог» — установив свою шаблоную страницу я могу вывести все «one_tax»,»two_tax», «three_tax». Но переходы на каждую из «***_tax» я буду переходить на отдельную созданную страницу «***_tax» со своим шаблоном. И уже в этом шаблоне я делаю вывод всех «one_cat»,»two_cat»,»three_cat» и постов для них. Верно? 🙂

    Автор elephantsv

    (@elephantsv)

    Извините, приведу в пример то что описывал выше, мне так проще понять:) Правильно ли я Вас понял, taxonomy-{taxonomy}.php предназначен именно для вывода «one_cat», а не «one_tax» ?
    И как тогда создать страницу с выводом всех «one_cat»,»two_cat»,»three_cat» и постов относящихся к ним на странице «one_tax»?

    Автор elephantsv

    (@elephantsv)

    Шаблон страницы который находиться в файле «taxonomy-one_tax.php».
    А именно вывод категорий таксономии с постами относящихся к ним.

    Автор elephantsv

    (@elephantsv)

    Пересохранял линки в настройках не один раз. Не помогло.

Просмотр 9 ответов — с 1 по 9 (всего 9)