Доброго времени суток!
Существует некоторая проблема «переадресации» кириллических урлов используя этот плагин.
У меня есть сайт с кириллическим доменом, на нём установлен WP c Woocommerce. Для данного сайта предполагаются кириллические url как на разделы категорий, так и на товары в целом. Желаемая структура такова: мойсайт.бел/категория/{подкатегория}/товар.
Плагин Perfectseourl избавил меня от product-category и product в адресе, но вместе с тем создал следующую проблему: теперь, когда я хочу перейти в какую-либо категорию из товара или из дочерней категории
(путем стирания url'а в адресной строке до нужной категории), то получаю 404. Причём кодированный url, ссылающийся на эту категорию, работает отлично.
Иными словами, wordpress с активированным perfectseourl при переходе по ссылке вида
Скрытое содержимое доступно для зарегистрированных пользователей!
покажет 404, а вот если ввести адрес
Скрытое содержимое доступно для зарегистрированных пользователей!
, то все будет отлично и отобразится эта категория.
В процессе экспериментов выявил следующие закономерности:
1. При включенном Perfectseourl страница товара отображается без проблем, в каком бы виде (преобразованным в юникод или нет) она не была. Пример:
Скрытое содержимое доступно для зарегистрированных пользователей!
2. Если задавать адреса категорий на латинском, то проблемы тоже нет, - значит она где-то в преобразовании кириллицы.
3. Если отключить плагин, то по адресам вида: дверь.бел/product-category/входные-двери тоже можно перейти, просто вставив их в адресную строку браузера. Только вот в дизайн урлов «product-category» никак не вписывается.
В связи с этим возникает вопрос - есть ли способ, позволяющий wordpress «понимать» кириллические url категорий без преобразования их в юникод? Это необходимо, чтобы дать пользователям возможность стереть, к примеру, дочернюю категорию в адресной строке браузера и, тем самым, попасть в родительскую. Буду благодарен за любые наводки/подсказки для решения этой проблемы, быть может кто-то уже с этим сталкивался.
Заранее благодарю.
Вообщем, проблему с некорректной переадресацией кириллических урлов этим плагином Я решил самостоятельно.
Условия - Perfectseourl включен, настройки как на рисунке:
Для просмотра ссылки Войди или Зарегистрируйся
До следующих действий Я уже создал необходимые категории разделов моего сайта.
Чтобы решить её нужно сделать следующее:
1. В phpMyAdmin открыть таблицу с категориями (wp_terms).
2. Вставляем в окно запроса следующий код:
Код:
UPDATE `wp_terms`
set slug = UPPER(slug)
Where term_id IN(X)
Где
X - id ваших категорий, которые нужно исправить.
3. Переходим в панель управления плагинов Perfectseourl и отжимаем нажатый флажок под названием
Redirect categories -
Redirect old category urls.
(Это наверняка нужно для обновления урлов категорий, без отжатия флажка не работает
(кстати, если вернуть флажек обратно после этого - то урлы категорий всеравно будут отображаться правильно) ).
4. Переходим в нужные нам категории и радуемся красивому урлу, стирая который мы можем попасть в нужную нам категорию/подкатегорию.
Стоит отметить, что подобной проблемы при написании урлов транслитом не происходит, поэтому всеми виной кириллические урлы категорий.
Надеюсь, что кому-то эта инструкция поможет. Если у кого-то есть более быстрый способ избавления от этой проблемы - прошу отписать.
Всем удачи.
__________
Кстати, хотел спросить, а product_tag этот плагин не убирает?
Я тут наткнулся на эту
Для просмотра ссылки Войди или Зарегистрируйся, там есть соответствующий пункт, хотя в настройках текущего Я его не нашел:
Для просмотра ссылки Войди или Зарегистрируйся