Получить ссылку на первое сообщение пользовательской таксономии в пользовательском списке таксономии

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

<?php $tax = 'issues'; $terms = get_terms( $tax, $args = array( 'hide_empty' => false, 'orderby' => 'name', 'order' => 'ASC', )); foreach( $terms as $term ) { if( 0 == $term->count ) echo ' '; elseif( $term->count > 0 ) $cover = get_field('cover', $term ); $time = get_field('date', $term ); $pageone = get_field('starting_page', $term); echo '<li class="box-1-5 m-half"><a href="'. $pageone .'"><figure style="background-image: url('. $cover .');"></figure>'. $term->name .'<time>'. $time .'</time></a></li>';; }; ?> </ul> 

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

Если я правильно вас понимаю, вы в основном хотите захватить одну должность из каждого таксономического термина. А затем получите ссылку этого сообщения.

WP_Query – ваш друг здесь – с пользовательским запросом вы можете получать сообщения с почти любыми критериями, которые вы хотите (проверьте документы, с которыми я связан, они описывают почти все, что вы можете сделать).

Критерии в этом обстоятельстве – это всего одна статья с определенного термина, отсортированная по тому, что вы хотите определить «первым», как (я собираюсь предположить, что это означает последнее сообщение).

Вы будете смотреть на что-то вроде этого:

 foreach( $terms as $term ) { $the_query = new WP_Query( array( "posts_per_page" => 1, "orderby" => 'date', // this is the default "order" => 'DESC', // this is the default "tax_query" => array( array ( 'taxonomy' => $tax, // use the $tax you define at the top of your script 'field' => 'term_id', 'terms' => $term->term_id, // use the current term in your foreach loop ), ), ) ); $pageone = get_the_permalink($the_query->posts[0]); 

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