Это достаточно тяжелый запрос. Вам нужно получить все посты, проверить, что среди них есть пост, соответствующий слагу текущей категории и потом получить url записи для редиректа
add_action( 'template_redirect', 'redirect_to_post_in_category' );
function redirect_to_post_in_category() {
// Проверяем, что находимся в категории.
if ( is_category() ) {
$slugs = array();
$posts = get_posts();
// Собираем массив всех слагов постов.
foreach ( $posts as $key => $post ) {
$slugs[ $post->ID ] = $post->post_name;
}
// Проверяем, что слаг текущей категории есть в массиве постов.
if ( in_array( get_queried_object()->slug, $slugs, true ) ) {
$slugs = array_flip( $slugs ); // Меняем местами ключи и значения в массиве постов.
$post_id = $slugs[ get_queried_object()->slug ]; // Ищем ID постав в массиве по слагу.
$url = get_permalink( $post_id ); // Получаем url записи по ID.
// Если url существует — делаем редирект.
if ( $url ) {
wp_redirect( $url, 301 );
}
}
}
}