• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Где лежит шаблон "shop" и как сделать 2 разные страницы

Image CMS

Gnumster

Новичок
#1
Здравствуйте! Использую плагин Polylang, соответственно нужно две страницы магазина, на одной выводить товары на русском, на другой - на английском. С блогом была та же ситуация, с ней быстро справился копированием файла и кода и применением этого второго шаблона в качестве основного для страницы на английском, а вот с woocommerce не могу уже пол дня разобраться.
Как это всё реализовать? Думаю всё просто, в сети таких вопросов не нашёл.

P.S.: сразу скажу, что обычные средства visual composer не помогают - тема премиум и на основной странице магазина всё смотрится в разы лучше, чем через обычную вставку товаров по категориям, также не работает виджет по ценам и тд и тп. Но думаю это уже всё к теме не относится, написал на всякий...

Заранее спасибо, если кто поможет.
 

Gnumster

Новичок
#2
Разобрался, неведомым образом контент магазина стал выводиться на английском варианте, НО!
Не переводится заголовок страницы, изначально он называется Магазин, в английском варианте выводится также - Магазин. Получается это потому, что в моём случае woocommerce не генерирует второй шаблон для магазина, а использует один-единственный.
Как я понимаю, можно заголовок английского магазина исправить через archive-product, через функцию if, но я в этом слабо шарю, может кто строчку кода черканёт)
По идее должно быть что-то вроде:
<?php if ( lang="en-US", true); ?>
<h1 class="page-title">Shop</h1>
 
Последнее редактирование:

Gnumster

Новичок
#3
Покурил функции, всё оказалось очень просто. Может будет ещё какой-то новичок вроде меня, оставлю здесь решение:
1) добавил в functions.php строку pll_register_string('shop1', 'shop2');
2) перевёл в polylang обе строки
3) изменил код на <h1 class="page-title"><?php pll_e('shop2'); ?></h1>
 

ls3run

Новичок
#4
Разобрался, неведомым образом контент магазина стал выводиться на английском варианте, НО!
Не переводится заголовок страницы, изначально он называется Магазин, в английском варианте выводится также - Магазин. Получается это потому, что в моём случае woocommerce не генерирует второй шаблон для магазина, а использует один-единственный.
Как я понимаю, можно заголовок английского магазина исправить через archive-product, через функцию if, но я в этом слабо шарю, может кто строчку кода черканёт)
По идее должно быть что-то вроде:
<?php if ( lang="en-US", true); ?>
<h1 class="page-title">Shop</h1>
Решил таким образом Wordpress и бесплатная версия плагина Polylang:

<?php if(((strpos(strtolower($_SERVER['REQUEST_URI']), "/en/shop/") !== FALSE) || ((strpos(strtolower($_SERVER['REQUEST_URI']), "/en/product/") !== FALSE) ))): ?>

<h3 class="main-title__primary">Основоной заголовок</h3>
<?php else: ?>

<<?php echo $main_tag; ?> class="main-title__primary">
<?php echo $title; ?>
</<?php echo $main_tag; ?>>

<?php endif; ?>

<?php if(((strpos(strtolower($_SERVER['REQUEST_URI']), "/en/shop/") !== FALSE) || ((strpos(strtolower($_SERVER['REQUEST_URI']), "/en/product/") !== FALSE) )|| ((strpos(strtolower($_SERVER['REQUEST_URI']), "/en/product-category/") !== FALSE) ))): ?>
<h3 class="main-title__secondary">Подзаголовок</h3>
<?php else: ?>
 
Последнее редактирование:
Сверху Снизу