@veroni1337

Как перевести поля Carbon fields с помощью WP multilang?

Как с помощью WP multilang перевести поля Carbon fields. Этот плагин поддерживает ACF, как можно сделать поддержку Carbon?
  • Вопрос задан
  • 221 просмотр
Решения вопроса 1
it_proger29
@it_proger29
Битрикс
Первый вариант:
function carbon_lang_prefix() {
	$current = wpm_get_language();
	$prefix = '';
	if ( ! $current ) {
		return $prefix;
	}
	if ( $current == 'ru') {
		return $prefix;
	}
	$prefix = '_' . $current;
	return $prefix;
}

Типо такого. Мы сделали функцию которая добавляет префикс к имени поля.

Создаем поле:
Field::make( 'text', 'footer_kop'.carbon_lang_prefix(), 'Копирайт в подвале' )->set_width( 50 ),

Для вывода полей так же потребуется использовать эту функцию рядом с именем поля.
echo carbon_get_theme_option( 'footer_kop'.carbon_lang_prefix() );

spoiler
Функцию взял с сайта https://misha.agency/wordpress/carbon-fields-polyl... и немного изменил


----
Второй вариант:

Кстати, наткнулся на готовое решение в документации cf v2.2.0, v3.0.0:
function crb_get_i18n_suffix() {
    $suffix = '';
    if ( ! defined( 'ICL_LANGUAGE_CODE' ) ) {
        return $suffix;
    }
    $suffix = '_' . ICL_LANGUAGE_CODE;
    return $suffix;
}

function crb_get_i18n_theme_option( $option_name ) {
    $suffix = crb_get_i18n_suffix();
    return carbon_get_theme_option( $option_name . $suffix );
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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