@Triste

Переключение языков сайта Wordpress?

Здравствуйте.
У меня вопрос про переключатели между двумя версиями сайта.
Для 2 языков я установил 2 вордпресс. То есть один находится в корневой папке (русская версия сайта) а второй вордпресс в подпапке (английская версия сайта). Теперь стоит вопрос, как мне сделать переключатель между языками самих записей и рубрик? Еще раз уточну, что установлено 2 вопродпресс, основйной и подпапка. Нужно связать все записии рубрики между собой переключателем. Находясь на странице в русской версии могу переключиться на ту же страницу уже английской версии. Не путайте с плагинами мультиязычности. Мне не нужен плагин перевода или копирование страниц. Нужно только связать каждую запись и каждую рубрику, ну и главну.
  • Вопрос задан
  • 498 просмотров
Пригласить эксперта
Ответы на вопрос 1
anatoly_kulikov
@anatoly_kulikov
Помог ответ? Отметь решением!
Вот такие конструкции вам помогут. Используйте код внутри цикла.

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');    // Для перехода на русскую версию
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы