add_rewrite_rule и вложенные страницы

Привет всем

Столкнулся с такой проблемой в 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

У меня -- вложенностью подрубрик. Получилось так: 
~/catalogue/shoes/cleats/obuv-dfutbola-adidas-g16409m.htm

А вложенность подрубрик создавалась Custom Post Types (таблица wp_posts) или выборка подрубрик происходит из собственной таблицы?

Если хочется заморачиваться со своими таблицами, можно ограничиться одной стат.страницей с обработчиком в шаблоне, а весь мотлох передавать в url-параметрах вот так.

Если хочется заморачиваться со своими таблицами, можно ограничиться одной стат.страницей с обработчиком в шаблоне, а весь мотлох передавать в url-параметрах вот так.

Пока так и сделал ))

Но думал может есть что-то получше и покрасивше

У меня всё реализовано стандартными функциями WP.
Максимум – приписываю доп. поля для элементов каталога через плагин magic fields.

У меня всё реализовано стандартными функциями WP.
Максимум - приписываю доп. поля для элементов каталога через плагин magic fields.

Я пока решил через add_rewrite_endpoint(‘category’, EP_PAGES) и передаю это в шаблон, а там проверяю endpoint и подключаю тот шаблон, какой необходимо

Anonymous
Отправить
Ответ на: