@LastGeneral

Как правильно вывести шорткод в условии?

<?php 
	$languages_subscribe = get_locale();
		if ( $languages_subscribe == 'uk' ) {
			echo 'do_shortcode('[contact-form-7 id="4220" title="subscribe"]')';
		} else {
			echo 'do_shortcode('[contact-form-7 id="5865" title="subscribe_en"]')';
	}
?>
<?php $languages_subscribe; ?>
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
selico
@selico
WordPress
Обратите внимание как возвращает локаль функция get_locale(). Локали будут в таком виде: en_US, ru_RU
И есть еще функция get_user_locale().

Используя get_locale() будет игнорироваться язык, который выбрал пользователь у себя в профиле. Чтобы учитывался язык профиля используйте get_user_locale().

do_shortcode не нужно выносить в кавычки, пишется echo do_shortcode(...)

<?php 
  $languages_subscribe = get_locale();
    if ( $languages_subscribe == 'en_US' ) {
      echo do_shortcode('[contact-form-7 id="5865" title="subscribe_en"]');
    } else {
      echo do_shortcode('[contact-form-7 id="4220" title="subscribe"]');
  }
?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@basili4-1982
<?= get_locale()=='uk'
            ?  'do_shortcode(\'[contact-form-7 id="4220" title="subscribe"]\')' 
            :  'do_shortcode(\'[contact-form-7 id="5865" title="subscribe_en"]\')'; ?>
Ответ написан
Ваш ответ на вопрос

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

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