Для того чтобы отобразить посты, относящиеся к таксономии текущего поста в WordPress, можно использовать функцию `get_posts()` или WP Query. Важным моментом является получение таксономии и термина текущего поста. Предположим, что вы работаете с пользовательской таксономией (например, "category" или другой тип).
Вот шаги, которые нужно выполнить:
1. Получите ID текущего поста.
2. Получите термины (таксономии) текущего поста.
3. Выполните запрос, чтобы получить посты, относящиеся к этим терминам.
### Пример кода:
```php
// Получаем ID текущего поста
$current_post_id = get_the_ID();
// Получаем термины (таксономии) текущего поста для определённой таксономии (например, 'category')
$terms = get_the_terms($current_post_id, 'category'); // замените 'category' на вашу таксономию
if ($terms && ! is_wp_error($terms)) {
// Получаем массив ID терминов
$term_ids = wp_list_pluck($terms, 'term_id');
// Создаем запрос для получения постов, относящихся к текущим терминам
$args = array(
'post_type' => 'post', // замените 'post' на ваш тип поста
'post__not_in' => array($current_post_id), // исключаем текущий пост
'tax_query' => array(
array(
'taxonomy' => 'category', // замените 'category' на вашу таксономию
'field' => 'term_id',
'terms' => $term_ids,
),
),
);
// Получаем посты
$related_posts = new WP_Query($args);
// Проверяем, есть ли посты
if ($related_posts->have_posts()) {
echo '<ul>';
while ($related_posts->have_posts()) {
$related_posts->the_post();
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
wp_reset_postdata(); // Сбрасываем данные глобального поста
} else {
echo 'Нет связанных постов';
}
} else {
echo 'Нет терминов для текущего поста';
}
```
### Пояснения к коду:
1. `get_the_ID()` — получение ID текущего поста.
2. `get_the_terms()` — получение терминов для текущего поста.
3. `wp_list_pluck()` — извлечение только ID терминов из полученного массива.
4. `WP_Query` — создание нового запроса для получения постов, относящихся к выбранной таксономии и ее терминам.
5. В массиве `$args` определяется, какие посты нужно получить — по типу поста, по таксономии, и исключается текущий пост.
Используйте этот код в своем шаблоне WordPress, где необходимо вывести связанные посты. Не забудьте изменять `taxonomy` и `post_type` в зависимости от ваших нужд.