Я пытаюсь добавить язык на свой сайт. Я закодировал свою тему, и мне нужно показать Интернет на трех разных языках. У меня есть маленькие флаги, и мне удалось передать переменную php с выбранным языком. С этой переменной я сделал if для назначения wp_nav_menu в header.php. Он работает на самом деле. Когда я меняю язык, появляется правильное меню на правильном языке. Проблема в том, что когда я нажимаю в пункте меню, и выбранная страница открывается, меню исчезает. Исчезает. Может ли кто-нибудь помочь мне, пожалуйста? Вот код, который я использую.
В header.php
if ($language == 'en') { wp_nav_menu(array( 'theme_location' => 'eng', 'container_class' => 'main-nav', 'container' => 'nav' )); } else if ($language == 'de') { wp_nav_menu(array( 'theme_location' => 'ger', 'container_class' => 'main-nav', 'container' => 'nav' )); } else { wp_nav_menu(array( 'theme_location' => 'esp', 'container_class' => 'main-nav', 'container' => 'nav' )); }
И в функции functions.php
add_theme_support ('menus'); //Create Nav Menu if (function_exists ('register_nav_menus')) { register_nav_menus (array( 'esp' => 'Spanish menu', 'eng' => 'English menu', 'ger' => 'Deutsch menu' )); }
И html для ссылки на флаг в header.php
<li><a href="http://localhost/wordpress/inicio?language=es" ><img src="http://localhost/wordpress/wp-content/themes/wordpressthemeAPI2/img/espflag.PNG" width="18" height="12" onmouseover="this.src='http://localhost/wordpress/wp-content/themes/wordpressthemeAPI2/img/espH.PNG'" onmouseout="this.src='http://localhost/wordpress/wp-content/themes/wordpressthemeAPI2/img/espflag.PNG'"></a></li>
Я не уверен, что вы предоставили достаточно информации для решения этой проблемы, непонятно, почему и когда ваше меню исчезает и при каких условиях.
Я не уверен, почему вы регистрируете все меню, когда вам, вероятно, понадобится один.
Я могу только посоветовать вам использовать плагин, который управляет языками на сайте, есть много вариантов, которые, вероятно, сделают это немного легче для вас.
Если вы предоставите дополнительную информацию или тестовый URL-адрес, я буду рад еще раз взглянуть
Удачи,
Спасибо за ваш интерес. На самом деле происходит то, что когда вы нажимаете кнопку emnu, вы попадаете на правильную страницу, но меню меняется на испанский язык, который я, судя по просмотру кода, задан по умолчанию.
Здесь у вас есть ссылка, чтобы взглянуть на то, что я пытаюсь сделать. Спасибо!