Если я правильно вас понимаю, это все, что вам нужно сделать:
<?php if( $locations ): ?>
<?php foreach( $locations as $location ): ?>
<a href="<?php echo get_permalink( $location->ID ); ?>">
<?php echo get_the_title( $location->ID ); ?>
</a>;
<?php endforeach; ?>
<?php endif; ?>
То есть после </a>
(то есть HTML, а не PHP) вы можете вставить свой разделитель. В этом случае точка с запятой.
Тогда, если вы не хотите точку с запятой после последнего элемента, вы можете сделать это:
<?php
if ( $locations ) {
$i=1;
$sizeof = count($locations);
foreach( $locations as $location ) {
echo '<a href="' . get_permalink( $location->ID ) . '">';
echo get_the_title( $location->ID );
if ( $i == $sizeof ) {
// the final element, end with period / fullstop
echo "</a>.";
} else {
echo "</a>; ";
}
$i++;
}
}
?>