Поддержка Проблемы и решения Список постов рубрики таксономии

  • Добрый день, не могу найти решение для след задачи, необходимо вывести список постов (ссылками) из рубрики таксономии, в общем аналог функции wp_list_pages
    Может кто знает?Перерыл весь рунет но ничего подходящего не нашел

Просмотр 11 ответов — с 16 по 26 (всего 26)
  • исправил)вроде заработало)ща потестю)

    Работает))огромный респект)Просто без этого кода пришлось бы искать очень геморойные пути вывода)

    геморойные пути вывода

    — звучит жутко. Не надо. Ставьте «решенная» и привет )

    Спасибо еще раз)ок)

    А как бы этот код вывести в single-items.php? Я проверил там не работает, надо кактто подставлять id рубрики в которой находиться произвольная запись

    В Кодексе, как минимум, три функции нашлось.
    wp_get_post_terms()
    wp_get_object_terms()
    get_the_terms()
    Например, только для одной рубрики таксономии objects, даже если их больше.

    $terms = wp_get_post_terms($post->ID, 'objects');
    if ($terms) :
        $name = $terms[0]->name;
        $args = array(
            'objects' => $name,
    	'posts_per_page' => -1,
        );
       $the_query = new WP_Query( $args );
    // Далее

    Я скопипастил из документации 95% предыдущего примера, так что все просто.

    далее

    while ( $the_query->have_posts() ) : $the_query->the_post();
    ?>
    <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title();?>"><?php the_title();?></a><br />
    <?php
    endwhile;
    wp_reset_query();
    endif;
    ?>

    ?

    если да, то у меня не работает

    Полазил по мануалам, нашкрябал вот такой вот код

    <?php $product_terms = wp_get_object_terms($post->ID, 'objects');
    if(!empty($product_terms)){
      if(!is_wp_error( $product_terms )){
    
        foreach($product_terms as $term){
         $term_id=$term->term_id;
    	 //echo $termid;
        }
    
      }
    }
    $args = array(
    	'tax_query' => array(
    		array(
    			'taxonomy' => 'objects',
    			'field' => 'id',
    			'terms' => array ($term_id)
    		)
    	),
    	'post_type' => 'items',
    	'posts_per_page' => -1
    );
    $posts = get_posts( $args );
    
    foreach($posts as $pst)
    	{ echo ' <a href="';echo get_permalink($pst->ID);
    							echo '">';
    						echo $pst->post_title;
    						echo '</a>'; }
    						?>

    Может не очень элегантно, но вроде как работает

    Поздравляю, что получилось. Мой пример с рабочего сайта, в сайдбаре single.php показывает последние записи из рубрики определенной таксономии, если она присвоена записи. Но там post type обычный — запись. Может, поэтому не сработало, что надо указывать тип. Моделировать на локалке в этот раз времени не было, потом потестирую для себя )

    Спасибо за наводку полазить по кодексу)Бывает оказывается полезно)

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