Вот такие конструкции вам помогут. Используйте код внутри цикла.
1. Для перехода на английскую версию
global $post;
$LinkToEng = esc_url(home_url('/')) . 'eng/' . $post->post_title;
echo '<a href="' . $LinkToEng . '">English</a>';
// Выведет: <a href="http://site.ru/eng/primer-zapisi">English</a>
2. Для перехода на русскую версию
global $post;
$LinkToRus = $_SERVER['HTTP_HOST'] . '/' . $post->post_title;
echo '<a href="' . $LinkToRus . '">Русский</a>';
// Выведет: <a href="http://site.ru/primer-zapisi">English</a>
Во втором случае я использовал
$_SERVER['HTTP_HOST'] потому, что если бы мы воспользовались
home_url() в дочерней директории, то нам бы вернулся адрес
site.ru/eng (пришлось бы строку дополнительно обрабатывать, вырезая
eng/). А так фактически одной строчкой.
Дополнительно можно завернуть в функцию и использовать:
// в файл functions.php добавляем следующий код:
function toggleLang($lang) {
global $post;
$Title = string;
$Link = string;
switch ($lang) {
case 'eng': {
$Title = 'English';
$Link = esc_url(home_url('/')) . 'eng/' . $post->post_title;
break;
}
case 'ru': {
$Title = 'Русский';
$Link = $_SERVER['HTTP_HOST'] . '/' . $post->post_title;
break;
}
}
echo '<a href="' . $Link . '">' . $Title . '</a>';
}
На странице вызываем функцию:
toggleLang('eng'); // Для перехода на английскую версию
toggleLang('ru'); // Для перехода на русскую версию