Шорткоды wordpress. Пример реализации многоязычности.

Допустим на сайте подключен плагин многоязычности qtranslate-X. И есть какой-то длинный контент заключенный в do_shortcode(‘… тут какое-то множество шорткодов …’); Возможно сам плагин qtranslate-X в данном случай имеет какую-то запись чтобы текст переделывался под нужный язык, во всяком случае мне это не известно. А просто ставя «[:ru] Русский [:en] Английский» заключив запись в функцию _e() — результатом стала ошибка php. В итоге написан небольшой шорткод. На сайте два языка русский и английский, по умолчанию английский.

Добавляем в php файл:

function title_carusel( $atts ) {
	$en = "{$atts['en']}";
	$ru = "{$atts['ru']}";
	
	$str_serv_lang = substr($_SERVER['REQUEST_URI'],0,4);
	if ($str_serv_lang == '/ru/'){
		return $ru;
	}
	else {return $en;}
}    
add_shortcode( 'title_carusel', 'title_carusel' );       

В сам контент добавляем:

[title_carusel en="Текст на английском" ru="Текст на русском"]

Или вызов из php:

echo do_shortcode('[title_carusel en="Текст на английском" ru="Текст на русском"]');

Должно быть в самом плагине qtranslate-X что-то на подобие шорткода, но долго искать не хотелось, добавил несколько строчек кода.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *