2016-04-26 2 views
-3

Может ли кто-нибудь помочь мне настроить собственный PHP-код.Изменения в php-коде Wordpress

http://www.elefantti.iq.pl/en/home-page/

В английской версии в правом верхнем углу я войдите кнопку «zaloguj», но я не могу изменить имя для английской версии, чтобы [войти].

Это код в PHP для него

<?php if (is_user_logged_in()) { echo '<a href="'.wp_logout_url(get_permalink()).'" title="Wyloguj" class="zaloguj">Wyloguj</a>'; } else { echo '<a href="/zaloguj" title="Zaloguj" class="zaloguj">Zaloguj</a>'; } ?> 

Спасибо за ваши ответы С наилучшими пожеланиями

ответ

0

Для быстрого использования починки get_locale() проверить текущий язык и установить текст:

<?php 
if (is_user_logged_in()) { 
    echo '<a href="'. wp_logout_url(get_permalink()) .'" title="Wyloguj" class="zaloguj">' 
      . 'Wyloguj' 
      . '</a>'; 
} else { 
    echo '<a href="/zaloguj" title="Zaloguj" class="zaloguj">' 
      . ((get_locale() === 'pl_PL') ? 'Wyloguj' : 'Login') 
      . '</a>'; 
} 
?> 

Лучше бы с помощью интернационализации (i18n), используя функцию __($text). Текст будет переведен, если имеется перевод. WP имеет встроенный перевод для «Вход в систему» ​​и «Выход». Это означает, что при использовании __('Log in') или __('Log out') он будет автоматически переведен на текущий язык сайта.

__() Использование будет выглядеть следующим образом:

<?php 
if (is_user_logged_in()) { 
    echo '<a href="'. wp_logout_url(get_permalink()) .'" title="'. __('Log out') .'" class="zaloguj">' 
      . __('Log out') 
      . '</a>'; 
} else { 
    echo '<a href="/zaloguj" title="'. __('Log in') .'" class="zaloguj">' 
      . __('Log in') 
      . '</a>'; 
} 
?> 
+0

Это почти нормально работает. В языке Pl у меня есть правильный «zaloguj», когда я вхожу в систему, все еще есть «zaloguj», что означает вход в систему. In En i got Log in correct, но когда я выхожу из системы, я получил «wygoluj» У меня есть перевод полиланга и в настройках нет строки для регистрации или выхода из системы. Этот секретный PHP-код, если я прошёл, будет работать? – Gad

+0

Я не совсем понимаю, что вы имеете в виду. Второй код должен работать. Я протестировал его. – Victor

+0

Посмотрите. У меня есть сайт с 2-мя языками польский и английский. У меня есть плагин Theme my login, который показывает форму [Login/Logout] и кнопку. В польской версии все хорошо. Но когда я перехожу к английскому плагину, dosent trasnlate это. Все, что я хочу, - это сделать в английской версии имя входа/выхода из моего сайта. http://www.elefantti.iq.pl/ru/home-page/ Правая кнопка верхнего угла – Gad

0

Просто измените и он говорит Войти

<?php if (is_user_logged_in()) { echo '<a href="'.wp_logout_url(get_permalink()).'" title="Wyloguj" class="zaloguj">Wyloguj</a>'; } else { echo '<a href="/zaloguj" title="Zaloguj" class="zaloguj">Login</a>'; } ?> 

Это сказал гораздо лучше опция заключается в использовании l18n-плагина для правильной интернализации для страницы.

Подробнее здесь. https://codex.wordpress.org/I18n_for_WordPress_Developers

+0

У меня есть два языка сайта, и этот код на 2-х языках. То, что я хочу достичь, - иметь в польской версии [Zaloguj] и english [Вход] Но есть только этот код, если я его сменил, как вы говорите, в польской версии будет [login] – Gad

+0

Вот почему вы должны использовать интернализацию вместо этого редактирование кода напрямую –

+0

ОК, я не специалист по php. Я ищу легче для меня. Я смотрю, что вы мне присылаете, но я не думаю, что смогу с этим справиться. – Gad

Смежные вопросы