Как отключить ссылку на изображение, когда сайт переключается на другой язык? - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь отключить ссылку на изображение, когда сайт переходит на язык оригинала.Его WordPress, и я использую Polylang для перевода.Сайт на португальском, английском, немецком и французском языках.У меня есть виджет, который находится в общей оболочке независимо от языка.Этот виджет показывает изображения со ссылками на всплывающее окно, управляемое плагином, который использует класс (class = "modal-link"), не может отключить этот класс, потому что он будет разрывать ссылки на других страницах.Мне нужно отключить ссылки при переключении на английский / немецкий / французский.

Код в виджете выглядит следующим образом:

<a class="modal-link" href="http://moldetefa.com/wp2018/index.php/pt2020/">
<img border="0" alt="Centro2020" src="http://moldetefa.com/wp2018/wp- 
content/uploads/2018/08/c2020.png"></a>
<a class="modal-link" href="http://moldetefa.com/wp2018/index.php/pt2020/">
<img border="0" alt="Portugal2020" src="http://moldetefa.com/wp2018/wp- 
content/uploads/2018/08/pt_2020.png"></a>
<a class="modal-link" href="http://moldetefa.com/wp2018/index.php/pt2020/">
<img border="0" alt="FEDR" src="http://moldetefa.com/wp2018/wp- 
content/uploads/2018/08/FEDR.png"></a>

Этот CSS работает, но я не знаю, какназывать его только на определенном языке

[href="http://moldetefa.com/wp2018/index.php/pt2020/"]{
pointer-events: none;
}

Этот CSS работает только для того, чтобы работать на этом языке, но я не знаю, как написать код для отключения этой конкретной ссылки.

:lang(en)   {

}

Только что сделал это, и это сработало!: O

:lang(en) > [href="http://moldetefa.com/wp2018/index.php/pt2020/"]{
pointer-events: none;
}   

Есть мысли?Слава JF

1 Ответ

0 голосов
/ 28 сентября 2018

Что вы можете попробовать, внутри вашего файла functions.php добавьте небольшую функцию, чтобы проверить текущий язык и что-то вернуть:

function check_languages($pt, $fr, $en, de) {
    $cuurent_language = get_locale();
    if($cuurent_language == 'pt_PT'){
        return $pt;
    }
    if($cuurent_language == 'fr_FR'){
        return $fr;
    }
    if($cuurent_language == 'en_GB'){
        return $en;
    }
    if($cuurent_language == 'de_DE'){
        return $de;
    }
}

Поскольку существует более 1 локали для английского, французского и т. Д., Выможет проверить текущую версию выбранного языка внутри Polilang - http://joxi.ru/Vm6ZjvEHDqeMkm и заменить ее в этом примере функции, если это необходимо.После добавления этой функции вы можете использовать ее следующим образом:

<a class="<?=check_languages('modal-link', '', '', '');?>" href="http://moldetefa.com/wp2018/index.php/pt2020/">
<img border="0" alt="Centro2020" src="http://moldetefa.com/wp2018/wp- 
content/uploads/2018/08/c2020.png"></a>

Таким образом, для португальского языка у вас будет добавлен модальный класс, для остальных языков - ничего или любой другой класс, который вы поместите.Другой вариант, который я могу придумать, - это использовать Перевод строки Polilang (лучше, чем пользовательская функция, если в ваших шаблонах много строк, которые необходимо перевести) и зарегистрировать строку вроде:

<a class="<?pll_e('modal-link');?>" href="http://moldetefa.com/wp2018/index.php/pt2020/">
<img border="0" alt="Centro2020" src="http://moldetefa.com/wp2018/wp- 
content/uploads/2018/08/c2020.png"></a>

После этого в вашем переводе строк в Полиланге вы покинете класс только для португальского языка.Если вы хотите попробовать с jQuery, в конце файла шаблона вашей домашней страницы добавьте:

<script>
    if($('html').attr('lang') !== 'pt-PT'){
      $(".modal-link").css("pointer-events", "none !important");
    }
<\script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...