1- без плагина:
https://generatewp.com/generator/ - сгенирируйте произвольный тип записи...
2 - с плагином типа toolset и подобных
Далее - связываем
На примере Post 2 Post (советую)
1 - в functions.php вставляем:
function my_connection() {
p2p_register_connection_type( array(
'name' => 'posts_go_otzif',
'from' => 'post',
'to' => 'page' //тут с чем нужно обьединить (название вашего произвольного типа записей)
) );
}
add_action( 'p2p_init', 'my_connection' );
2 - в single.php и файл, который отвечает за вывод отзыва вставляем:
$connected = new WP_Query( array(
'connected_type' => 'posts_go_otzif',
'connected_items' => get_queried_object(),
'nopaging' => true,
) );
// выводим
if ( $connected->have_posts() ) :
?>
<h3>связанные:</h3>
<ul>
<?php while ( $connected->have_posts() ) : $connected->the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php
wp_reset_postdata();
endif;
?>
Теперь либо в отзыве выбираем страницу/ы к которой он добавлен либо наоборот (связь будет синхронизироваться между ними)
рабочий пример на сайте
fileid.in - там форматы и программы для их открытия связаны таким образом