Следуя этому вопросу Как я могу перевести LINK с помощью qtranslate в wordpress? Я также пытаюсь перевести свое меню навигации на другие языки.
Я сделал все, что написано в первом ответе:
- Включить функцию
function.php
- Добавьте
'walker' => new CustomLinkModifierWalker()
в файлheader.php
. - Измените имя навигационного меню на
<!- -:en- ->HOME<!- -:- -><!- -:gr- ->ΑΡΧΙΚΗ<!- -:- ->
и введите/en|en|/|gr|
Однако перевод не работает. В меню отображаются строки в навигации, например HOMEΑΡΧΙΚΗ
, а ссылка /en|en|/|gr|
.
Что я делаю неправильно? Или есть другой способ перевести меню?
В WordPress 4.0.1
UPDATE
Изменение имен на [:en]HOME[:el]ΑΡΧΙΚΗ
без вышеуказанного кода заставляет выполнять переводы, но я все еще не могу заставить URL-адреса работать.
ОБНОВЛЕНИЕ 2
И код navmenu:
Для греческого языка:
<ul class="menu" id="nav-menu">
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1091"><a href="/">ΑΡΧΙΚΗ</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1092"><a href="/#our-company">ΣΧΕΤΙΚΑ</a></li>
</ul>
Для английского языка:
<ul class="menu" id="nav-menu">
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1091"><a href="/">HOME</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1092"><a href="/#our-company">ABOUT</a></li>
</ul>
ОБНОВЛЕНИЕ 3
Я попытался добавить URL с полным путем, включая теги, например:
[:en]http://www.mydomain.gr/en[:el]http://www.mydomain.gr
Но после того, как я нажму кнопку "Сохранить", ввод URL пуст. Он не сохраняет путь URL. ОБНОВЛЕНИЕ 4
Я добавляю код на functions.php и строку на header.php..Now у меня есть необязательный URL-адрес на странице администратора. Таким образом, я удалил URL-адрес и добавлю его как:
<!--:en-->/en<!--:--><!--:el-->/<!--:-->
Затем я добавил код в header.php:
<?php $defaults = array(
'theme_location' => 'other',
'container' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="nav-menu" class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => ''
);
wp_nav_menu( $defaults );
wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' , 'walker' => new qTranslate_Menu_Walker() ) );
?>
</div>
Проблема в том, что ссылки в этом формате: /en/#about
работает, но ссылки в этом формате /en/blog
не работают и перенаправляются на язык по умолчанию.