Приветствую.
Не могу никак понять, каким образом сохранить структуру рубрик (не из админки).
Т.е. у меня есть рубрика вида /market/russia/buy/moto. Первая соответственно родительская, остальные дочерние.
При создании поста (через фронтэнд) ссылка присваивается самой первой родительской категории, а именно /market/%postname%.
Каким образом определить, что выбрана самая последняя отмеченная рубрика и поместить запись только в нее, а не во все сразу, чтобы ссылка была вида /market/russia/buy/moto/%postname%.
//Выдраный кусок, чисто для понимания того, о чем я пытаюсь спросить //Выпадающий зависимый список wp_dropdown_categories( 'show_option_none=' . __( '-- Выбрать --', 'wp' ) . '&hierarchical=1&hide_empty=0&orderby=name&name=category[]&id=cat-ajax&show_count=0&title_li=&use_desc_for_title=1&class=cat requiredField&depth=1&exclude=' . $exclude ); //Валидация $cat_type == 'normal' && $_POST['category'][0] == '-1' //Отправка в массив $post_category = $_POST['category']; array('post_category' => $post_category) //Получение дочерних категорий function get_child_cats() { $parentCat = $_POST['catID']; $result = ''; if ( $parentCat < 1 ) die( $result ); if ( get_categories( 'taxonomy=category&child_of=' . $parentCat . '&hide_empty=0' ) ) { $result .= wp_dropdown_categories( 'show_option_none=' . __( '-- Выбрать --', 'wp' ) . '&class=dropdownlist&orderby=name&name=category[]&id=cat-ajax&order=ASC&hide_empty=0&hierarchical=1&taxonomy=category&depth=1&echo=0&child_of=' . $parentCat ); } else {die( '' );} die( $result ); }
Тк в админке с отметкой рубрик идут чекбоксы и как я понимаю используется другая проверка, нежели по спискам, до применить ту же структуру не смог.
Сам спросил, сам решил. Классика
Да, нужно помещать во все категории и выводить слуги в ссылке.
Как оказалось, слишком сложно думал. В итоге зафильтрил.
function add_subcategories_to_permalink( $category, $categories, $post ) { return end( $categories ); } add_filter( 'post_link_category', 'add_subcategories_to_permalink', 10, 3 );
Но у меня появился другой вопрос в продолжении этой темы, на который я пока что не нашел ответ.
Могут ли каким то хитрожопым образом существовать в разных родительских категориях подкатегории с одинаковыми именами (дубли же не прокатывают).
К примеру market/russia/sell/ и market/ukraine/sell?
Или хотя бы чтобы это было визуально в url только для юзера.
В действительности есть рубрики: market/russia/russia-sell/russia-sell-parts/%postname%
А юзер видит ссылку по шаблонами страниц без слугов market/russia/sell/parts/%postname%