Вот мои текущие URL для моего пользовательского типа поста и таксономии.Я заметил, что перезаписываемый слаг для пользовательского типа поста и таксономии не может быть «инвентарным» или ломаться.Итак, я выбрал «инвентарную категорию» и «инвентарь».
текущие URL:
категория http://localhost:3000/inventory-category/actual-category-name/
один http://localhost:3000/inventory/product-title
Я хочу:
категория http://localhost:3000/inventory/actual-category-name/
один http://localhost:3000/inventory/actual-category-name/product-title
Итак, у меня 2 вопроса
Как получить тип записи и таксономию, чтобы они совместно использовали один и тот же URL-адрес «инвентарь» вместо использования «инвентарь-категория».
Как мне заставить сингл использовать фактическое название категории?Таким образом, это может быть:
http://localhost:3000/inventory/cars/product-title
http://localhost:3000/inventory/trucks/product-title
// register a new list of categories for custom post type
function so_inventory_categories() {
$args = array(
'hierarchical' => true,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'public' => true,
'publicly_queryable' => true,
'rewrite' => array('with_front' => false, 'slug' => 'inventory-category'),
);
register_taxonomy( 'inventory_categories', array( 'inventory' ), $args );
}
add_action( 'init', 'so_inventory_categories' );
function so_posttype_inventory() {
$args = array(
'labels' => ['name'=>'Inventory'],
'supports' => array( 'title', 'editor' ),
'taxonomies' => array( 'inventory_categories' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'rewrite' => array('with_front' => false,'slug' => 'inventory'),
'menu_icon' => 'dashicons-plus-alt',
);
register_post_type( 'inventory', $args );
}
add_action( 'init', 'so_posttype_inventory', 0 );