Изменение изображения заголовка с использованием WPML

У меня возникла проблема с изменением образа заголовка на основе языка и пути к файлу. Попробовали относительные и абсолютные пути, но все равно в итоге сломанный / отсутствующий значок файла.

В моих функциях у меня есть:

function header_image_switcher() { switch( ICL_LANGUAGE_CODE ) { case 'en': $link_to_image = '/images/top-header-en.png'; break; case 'fi': $link_to_image = '/images/top-header-fi.png'; break; case 'sv': $link_to_image = '/images/top-header-sv.png'; break; return $link_to_image; } } 

и шаблон содержит

 echo "<img src=" . header_image_switcher() . " />"; 

Моя папка с изображениями находится за пределами темы и в той же папке, что и моя установка, но изображения все равно не будут загружаться.

Какие-то очевидные ошибки я делаю?

Solutions Collecting From Web of "Изменение изображения заголовка с использованием WPML"

Вы можете использовать site_url() или get_site_url() . В зависимости от вашей установки и настройки вы могли бы также использовать network_site_url() – это то, что я бы предпочел, когда он возвращается к site_url() внутри, если он не является многопользовательской настройкой.

site_url( $path, $scheme ); функция также принимает два аргумента:

  1. $path можно использовать для добавления пути к URl в случае, если вам нужно указать что-то пользовательское.
  2. Опустите второй, так как это scheme (http / s) и будет установлена ​​автоматически – используйте ее только в том случае, если вы хотите заставить схему.

Примечание. Возможно, вы захотите сделать свой switch еще более неудачным:

 switch ( $foo ) { case 'bar' : return 'I am bar'; break; case default : case 'baz' : return 'I am baz'; break; } 

Наличие по default спасет вас от сбоев, когда ни одно из условий не будет выполнено – с языком, который вы, возможно, захотите использовать на американском английском. Также вы можете немедленно return как ничего не произойдет с результатом switch потом.