Структура кастомных постов и таксономий
Как правильно формировать в вордпрессе подобную структуру?
/developers - список разработчиков с пагинацией
/developers/javascript - список разработчиков, которые выводятся по таксономии javascript
/developers/tomaz-zaman - страница разработчика
Я нашел только такое решение, неужели более рационального варианта в вордпрессе нет?
function generate_taxonomy_rewrite_rules( $wp_rewrite ) {
$rules = array();
$post_types = get_post_types( array( 'name' => 'developer', 'public' => true, '_builtin' => false ), 'objects' );
$taxonomies = get_taxonomies( array( 'name' => 'developer_tag', 'public' => true, '_builtin' => false ), 'objects' );
foreach ( $post_types as $post_type ) {
$post_type_name = $post_type->name; // 'developer'
$post_type_slug = $post_type->rewrite['slug']; // 'developers'
foreach ( $taxonomies as $taxonomy ) {
if ( $taxonomy->object_type[0] == $post_type_name ) {
$terms = get_categories( array( 'type' => $post_type_name, 'taxonomy' => $taxonomy->name, 'hide_empty' => 0 ) );
foreach ( $terms as $term ) {
$rules[$post_type_slug . '/' . $term->slug . '/?$'] = 'index.php?' . $term->taxonomy . '=' . $term->slug;
}
}
}
}
$wp_rewrite->rules = $rules + $wp_rewrite->rules;
}
add_action('generate_rewrite_rules', 'generate_taxonomy_rewrite_rules');
developers - это может быть тип записей с включенным отображением архивов записей.
тогда таксономию можно сделать например category_developers и указать в качестве slug developers.
А для типа записей developers указать другой slug.
Вроде тогда конфликтов по части урл не должно быть.
Таким образом? Если да, то увы не работает
так
и обновить настройки чпу
Извиняюсь, а что это вообще меняет и каким образом решает проблему?
/event/one/ пост
/event/ архивы
/events/tag/ тег
/events/ страница не найдена
'has_archive' => trueпоменяйте на'has_archive' => 'events'и снова обновите чпуБлагодарю, сейчас попробую. Также хотел уточнить, а такой код, я имею ввиду, который переписывает правила ссылок, его можно использовать для высокопосещаемового сайта? Или эта функция не сильно нагружает сайт
а как в новых таксиномиях кастомного раздела сделать свой slug? у меня раздел Каталог авто и подразделы (таксономиями) хендай, рено... Нужен адрес catalog/hunday/this-post-title