Niech ślimak niestandardowej taksonomii mieści się w ślimaku niestandardowego typu postu
Obecnie drapię się po głowie, jak to uruchomić.
Zarejestrowałem niestandardowy „przewodnik” typu postu i mam niestandardową taksonomię dla typu postu „typ miejsca”.
Próbuję sprawić, by dziwka URL była
domena.com/guide/venue-type/{taxonomy}/
Próbowałem wszystkiego, aby to działało, próbując ponownie napisać ślimak, zaktualizować bezpośrednie linki, a następnie za każdym razem uzyskać stronę 404.
add_action( 'init', 'register_guide_posttype' );
function register_guide_posttype() {
$args = [
'label' => esc_html__( 'Guide', 'text-domain' ),
'labels' => [
'menu_name' => esc_html__( 'Guide', 'mytheme' ),
'name_admin_bar' => esc_html__( 'Guide', 'mytheme' ),
'add_new' => esc_html__( 'Add Guide', 'mytheme' ),
'add_new_item' => esc_html__( 'Add new Guide', 'mytheme' ),
'new_item' => esc_html__( 'New Guide', 'mytheme' ),
'edit_item' => esc_html__( 'Edit Guide', 'mytheme' ),
'view_item' => esc_html__( 'View Guide', 'mytheme' ),
'update_item' => esc_html__( 'View Guide', 'mytheme' ),
'all_items' => esc_html__( 'All Guide', 'mytheme' ),
'search_items' => esc_html__( 'Search Guide', 'mytheme' ),
'parent_item_colon' => esc_html__( 'Parent Guide', 'mytheme' ),
'not_found' => esc_html__( 'No Guide found', 'mytheme' ),
'not_found_in_trash' => esc_html__( 'No Guide found in Trash', 'mytheme' ),
'name' => esc_html__( 'Guide', 'mytheme' ),
'singular_name' => esc_html__( 'Guide', 'mytheme' ),
],
'public' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'show_in_rest' => true,
'capability_type' => 'post',
'hierarchical' => false,
'has_archive' => 'guide',
'query_var' => true,
'can_export' => true,
'rewrite_no_front' => false,
'show_in_menu' => true,
'menu_position' => 20,
'menu_icon' => 'dashicons-location',
'supports' => [
'title',
//'editor',
'thumbnail',
'custom-fields',
'page-attributes',
],
'rewrite' => array('slug' => 'guide', 'with_front' => false),
];
register_post_type( 'guide', $args );
A potem taksonomia
add_action( 'init', 'register_guide_tax_taxonomy' );
function register_guide_tax_taxonomy() {
$args = [
'label' => esc_html__( 'Venue Type', 'mytheme' ),
'labels' => [
'menu_name' => esc_html__( 'Venue Types', 'mytheme' ),
'all_items' => esc_html__( 'All Venue Types', 'mytheme' ),
'edit_item' => esc_html__( 'Edit Category', 'mytheme' ),
'view_item' => esc_html__( 'View Category', 'mytheme' ),
'update_item' => esc_html__( 'Update Category', 'mytheme' ),
'add_new_item' => esc_html__( 'Add new Category', 'mytheme' ),
'new_item' => esc_html__( 'New Category', 'mytheme' ),
'parent_item' => esc_html__( 'Parent Category', 'mytheme' ),
'parent_item_colon' => esc_html__( 'Parent Category', 'mytheme' ),
'search_items' => esc_html__( 'Search Venue Types', 'mytheme' ),
'popular_items' => esc_html__( 'Popular Venue Types', 'mytheme' ),
'separate_items_with_commas' => esc_html__( 'Separate Venue Types with commas', 'mytheme' ),
'add_or_remove_items' => esc_html__( 'Add or remove Venue Types', 'mytheme' ),
'choose_from_most_used' => esc_html__( 'Choose most used Venue Types', 'mytheme' ),
'not_found' => esc_html__( 'No Venue Types found', 'mytheme' ),
'name' => esc_html__( 'Venue Types', 'mytheme' ),
'singular_name' => esc_html__( 'Venue Type', 'mytheme' ),
],
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_quick_edit' => true,
'show_admin_column' => true,
'show_in_rest' => true,
'has_archive' => true,
'hierarchical' => false,
'query_var' => true,
'sort' => true,
'rewrite' => true,
];
register_taxonomy( 'venue-type', [ 'guide' ], $args );