Добавление кода в заголовок WordPress на основе местного языка в functions.php

Мне нужно добавить код Javascript в заголовок WordPress на основе текущего языка, используемого веб-сайтом. Мы используем перевод строк WPML. Я хочу написать такую ​​функцию:

function add_customcode_header(){
?>
if(ICL_LANGUAGE_CODE == 'ru')
  {
    <script>
code 1
</script>
} 
  else
  {
<script>
code 2
</script>
  }
}
<?php
add_action('wp_head', 'add_customcode_header');

Эта функция должна размещать скрипт с содержимым code 1, если языковой параметр веб-сайта установлен на «ru» и ЕСЛИ параметр языка любой другой, он должен добавить code 2 для других языков.

Волшебный вопрос: будет ли эта функция работать должным образом?

ОБНОВЛЕНИЕ:

Правильное решение, которое работает:

function add_customcode_header(){
if(ICL_LANGUAGE_CODE == 'ru')
  {
    echo '<script>
              code 1
          </script>';
} 
  else
  {
    echo '<script>
              code 2
          </script>';
  }
}
add_action('wp_head', 'add_customcode_header');

person twelvell    schedule 04.05.2017    source источник


Ответы (1)


Ваша общая идея должна работать нормально, однако в опубликованном вами примере были некоторые синтаксические ошибки.

function add_customcode_header(){
if(ICL_LANGUAGE_CODE == 'ru')
  {
    echo '<script>
              code 1
          </script>';
} 
  else
  {
    echo '<script>
              code 2
          </script>';
  }
}
add_action('wp_head', 'add_customcode_header');

or

    function add_customcode_header(){

    if(ICL_LANGUAGE_CODE == 'ru')?>

        <script>
    code 1
    </script>
    <?php
      else ?>
    <script>
    code 2
    </script>
<?php
    }  
    add_action('wp_head', 'add_customcode_header');

Оба должны быть синтаксически правильными, и на самом деле важно, что вам удобнее.

person Kyle Becker    schedule 04.05.2017
comment
@twelvell Потрясающе! Имеет ли это смысл для вас? Понимание того, что происходит, намного важнее, чем то, что на самом деле работает. - person Kyle Becker; 04.05.2017
comment
Да, что я сделал неправильно, так это неправильно смешал JavaScript с PHP. Его следует разместить отдельно. Еще раз спасибо за указание на эти два пути. - person twelvell; 04.05.2017