Как в wordpress + polylang перевести в лебных крошках главную?

Ссылка скопирована
1 ответ

В общем поставил хук хлебныех крошек от dimox

Там есть опции

/* === ОПЦИИ === */ 	$text['home']     = 'Главная'; // текст ссылки "Главная" 	$text['category'] = '%s'; // текст для страницы рубрики 	$text['search']   = 'Результаты поиска по запросу "%s"'; // текст для страницы с результатами поиска 	$text['tag']      = 'Записи с тегом "%s"'; // текст для страницы тега 	$text['author']   = 'Статьи автора %s'; // текст для страницы автора 	$text['404']      = 'Ошибка 404'; // текст для страницы 404 	$text['page']     = 'Страница %s'; // текст 'Страница N' 	$text['cpage']    = 'Страница комментариев %s'; // текст 'Страница комментариев N'

/* === ОПЦИИ === */ $text['home'] = 'Главная'; // текст ссылки "Главная" $text['category'] = '%s'; // текст для страницы рубрики $text['search'] = 'Результаты поиска по запросу "%s"'; // текст для страницы с результатами поиска $text['tag'] = 'Записи с тегом "%s"'; // текст для страницы тега $text['author'] = 'Статьи автора %s'; // текст для страницы автора $text['404'] = 'Ошибка 404'; // текст для страницы 404 $text['page'] = 'Страница %s'; // текст 'Страница N' $text['cpage'] = 'Страница комментариев %s'; // текст 'Страница комментариев N'

Как перевести можно "Главная"?

Стоит polylang

Дополнительно:

Как в wordpress + polylang перевести в лебных крошках главную?

Как перевести можно "Главная"?

Как варианат:
- в functions.php зарегистрировать фразу через функцию pll_register_string();
- в админке PLL сделать ее переводы;
- там, где фраза используется, заменить литерал на pll__().
https://polylang.pro/doc/function-reference/

поставил хук

Здесь более уместно слово "сниппет". "Хук" - это совсем-совсем другое.

  • Спасибо
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Артём Dev Ответ

В самописных хлебных крошках Polylang не переведёт строку автоматически, если она просто записана в массиве как 'Главная'. Её нужно либо обернуть в функцию перевода Polylang, либо зарегистрировать как строку в админке переводов.

Минимальный вариант:

$text['home'] = function_exists('pll__') ? pll__('Главная') : __('Главная', 'your-theme');

$text['home'] = function_exists('pll__') ? pll__('Главная') : __('Главная', 'your-theme');

Но перед этим строку лучше зарегистрировать:

add_action('init', function () {
    if (function_exists('pll_register_string')) {
        pll_register_string('breadcrumbs_home', 'Главная', 'Theme breadcrumbs');
    }
});

add_action('init', function () { if (function_exists('pll_register_string')) { pll_register_string('breadcrumbs_home', 'Главная', 'Theme breadcrumbs'); } });

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

Важно: не используйте жёсткую проверку URL или домена для определения языка. Polylang уже знает текущий язык. Если хлебные крошки строятся до полной инициализации Polylang, переносите вызов в более поздний хук или проверяйте существование pll__().

Если хотите нормальную SEO-разметку и меньше ручной поддержки, можно заменить самописные хлебные крошки на Yoast breadcrumbs. У Yoast и Polylang перевод главной и цепочек обычно решается устойчивее, чем в кастомной функции.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно