Carbon Fields и Polylang – мультиязычность опций

Вообще вся серия постов про Carbon Fields началась именно с этого, а точнее – когда я пытался на одном уже существующем сайте настроить мультиязычные опции для ACF. У меня просто подгорело. Например потому что там во-первых надо купить acf pro и polylang pro, а во-вторых, всё равно ничего не работает! 🤗

Кстати, не забывайте про мой видеокурс по созданию темы WordPress с нуля на основе готовой HTML-вёрстки!

В этом уроке мы с вами создадим довольно лёгкую страницу настроек, которая будет выглядеть и работать примерно так:

мультиязычность опций в carbon fields с polylang

Шаг 1. Суффикс/префикс мультиязычности

Ниже – функция для добавления префикса мультиязычности, которую вы можете вставить например в functions.php вашей темы, хотя это наверное будет скорее суффикс, потому что я предпочту дописывать его в конце имён полей, например true_slider_ru.

function carbon_lang_prefix() {
	$prefix = '';
	if ( ! defined( 'ICL_LANGUAGE_CODE' ) ) {
		return $prefix;
	}
	$prefix = '_' . ICL_LANGUAGE_CODE;
	return $prefix;
}

Шаг 2. Создаём страницы настроек

Чуть подробнее про создание страниц настроек при помощи Carbon Fields вы можете почитать в этом руководстве ну или в официальном документации.

Container::make( 'theme_options', 'more_settings', 'More settings' )
	->set_page_menu_position( 4 )
	->set_icon( 'dashicons-image-filter' )
	->add_fields( array(
		Field::make( 'text', 'homepage_h1'.carbon_lang_prefix(), 'h1 text' ),
	));

Кстати, если хотите локализовать строки «More settings» и «h1 text», можете использовать функцию pll__(), про которую я подробно рассказывал тут.

А потом для получения этой настройки можем использовать:

echo carbon_get_theme_option( 'homepage_h1' . carbon_lang_prefix() );

Миша

Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Комментарии — 3

Комментирование этого поста более не доступно.