Вопрос по поводу ЧПУ при создании кастомного типа записей
Здравствуйте. попытался привязать новый тип записей к таксономии category (по сути что бы разграничить вывод кастомных полей для постов из разных категорий)
Проблема возникает с чпу.
мне нужно в итоге получить ссылку вида сайт/категория/название поста
"из коробки" вылетает ссылка вида сайт/кастомный тип поста/название поста
почитав документацию, в параметр rewrite записал следующее:
'rewrite'=> array( 'slug'=>'%category%', 'with_front' => false )
Что бы вместо %category% выводилась моя категория применил фильтр:
add_filter('post_type_link', 'teacher_fix', 1, 2); function teacher_fix( $permalink, $post ){ // выходим если это не наш тип записи: без холдера %products% if( strpos($permalink, '%category%') === false ) return $permalink; // Получаем элементы таксы $terms = get_the_terms($post, 'category'); // если есть элемент заменим холдер if( ! is_wp_error($terms) && !empty($terms) && is_object($terms[0]) ) { //$term_slug = array_pop($terms)->slug; //$term_slug = $terms[0]->slug; $term_slug = get_term_parents_list( $terms[0]->term_id, 'category', array( 'separator' => '/', 'format' => 'slug', 'link' => false, 'inclusive' => true, ) ); $term_slug = trim($term_slug, '/'); } // элемента нет, а должен быть... else $term_slug = 'no-categories'; return str_replace('%category%', $term_slug, $permalink ); }
оно то работает, но сломались хлебные крошки. они получаются вида: сайт/%category%
не пойму что я мог сделать не так..