Привет всем
Столкнулся с такой проблемой в WP с add_rewrite_rule
Есть 3 страницы (Pages)
| Магазин (shop)
| — Категории (category)
|— Товары (product)
По структуре страницы Категории и Товары это потомки страницы Магазин и у каждой страницы выбран свой шаблон соответственно.
Т.е. сейчас все работает если открывать эти страницы:
/shop/
/shop/category/
/shop/product/
Хочу создать такой rule , чтобы работало так:
/shop/category/knigi/
/shop/product/kakaya-to-kniga
Пробовал так, но ничего не помогает.
// Add the rewrite rule
add_action( 'init', 'ks_add_rules' );
function ks_add_rules() {
global $wp_rewrite;
add_rewrite_tag('%cat_name%', '([^&]+)');
add_rewrite_rule( 'shop/category/([^/]*)/?', 'index.php?pagename=category&cat_name=$matches[2]', 'top' );
$wp_rewrite->flush_rules();
}
Может кто сталкивался с подобным ?
О, я первый раз о таком услышал. До этого делал всё классически: рубрика/тип товара/товар
А как можно классически создать такой роут: рубрика/тип товара/товар
К примеру book/roman/kakya-tokniga
или cars/audi/kakaya-to-mashina
Интересны разные варианты
Данные берутся из собственной таблицы типа (категории, продукты)
У меня — вложенностью подрубрик. Получилось так:
~/catalogue/shoes/cleats/obuv-dfutbola-adidas-g16409m.htm
А вложенность подрубрик создавалась Custom Post Types (таблица wp_posts) или выборка подрубрик происходит из собственной таблицы?
Если хочется заморачиваться со своими таблицами, можно ограничиться одной стат.страницей с обработчиком в шаблоне, а весь мотлох передавать в url-параметрах вот так.
Пока так и сделал ))
Но думал может есть что-то получше и покрасивше
У меня всё реализовано стандартными функциями WP.
Максимум – приписываю доп. поля для элементов каталога через плагин magic fields.
Я пока решил через add_rewrite_endpoint(‘category’, EP_PAGES) и передаю это в шаблон, а там проверяю endpoint и подключаю тот шаблон, какой необходимо