Как заставить is_rtl () возвращаться как true - PullRequest
0 голосов
/ 22 мая 2018

Я переключаю языковой стандарт WordPress с одного языка на другой через переменную GET, и в зависимости от значения GET соответствующие шрифты, CSS и т. Д. Загружаются нормально.Однако основной style.css остается тем же, что и язык, специфичный для css, который загружается поверх этого.

За исключением некоторых языков RTL.Для них мой основной style.css также должен быть переключен с style.css на style-rtl.css.

У меня следующий код:

if( !is_rtl() ) { // if LTR
    wp_enqueue_style('direction-style', get_template_directory_uri()."/style.css",array(), null);
} else { // if RTL
    wp_enqueue_style('direction-style', get_template_directory_uri()."/style-rtl.css",array(), null);
}

Теперь мне нуженкоманда, чтобы is_rtl () вернулось как true.Я искал в интернете, но не смог его найти.Буду очень признателен за вашу помощь.

1 Ответ

0 голосов
/ 22 мая 2018

Я понял это.

На самом деле проблема была вызвана запуском вышеуказанного кода из файла function.php темы Wordpress.

Локальный хук должен вызываться из плагина, а не из темы, поскольку к тому времени, как WordPress загружает тему, уже слишком поздно.

После вызова из плагина is_rtl() автоматически возвращает true для локали, которая по умолчанию является RTL.

В качестве дополнительного преимущества можно также добавить следующий атрибут в тег body

dir="<?php echo $GLOBALS['text_direction']; ?>"
...