Intereting Posts
is_admin () не работает при обновлении сообщения в панели администратора Может ли таблица wp_posts иметь один и тот же пул (post_name) в нескольких статусах (post_status)? Скриншоты темы – сломанные изображения Перенаправление на woocommerce checkout после добавления в корзину товара уже в корзине Как отображать панель администратора при использовании WP_USE_THEMES = false? Список дочерних настраиваемых типов сообщений перечисляет все пользовательские типы сообщений Внедрение плагина Select2 в WordPress Плагин AJAX Сохранить в пользовательскую таблицу Что случилось с convertEntities? Как добавить автора и дату? Опубликован на страницах категории? Обновление с помощью $ qpdb-> query () всегда возвращает 0 строк Как загрузить JS для определенного размера экрана с помощью wp_enqueue_script? Не удалось получить доступ к пользовательскому плагину Объект WP_Meta_Query с условными выражениями Внешняя ссылка URL как Избранные изображения

Проблема с несколькими языковыми меню

Я пытаюсь добавить язык на свой сайт. Я закодировал свою тему, и мне нужно показать Интернет на трех разных языках. У меня есть маленькие флаги, и мне удалось передать переменную 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, вы попадаете на правильную страницу, но меню меняется на испанский язык, который я, судя по просмотру кода, задан по умолчанию.

Здесь у вас есть ссылка, чтобы взглянуть на то, что я пытаюсь сделать. Спасибо!

http://ibizaonlinerentals.com/newweb/