I am using Custom Post Type Permalinks By Toro_Unit plugin for customizing urls.
Here is my custom post type
<?php
/**
* Post Type: our-products.
*/
function cptui_register_my_cpts_our_products() {
$labels = array(
"name" => __("Our Products", "twentynineteen"),
"singular_name" => __("Product", "twentynineteen"),
"menu_name" => __("Products", "twentynineteen"),
"all_items" => __("Products", "twentynineteen"),
"add_new" => __("Add Products", "twentynineteen"),
"add_new_item" => __("Add New Product", "twentynineteen"),
"edit_item" => __("Edit Product", "twentynineteen"),
"new_item" => __("New Product", "twentynineteen"),
"view_item" => __("View Product", "twentynineteen"),
"view_items" => __("View Products", "twentynineteen"),
"search_items" => __("Search Products", "twentynineteen"),
"not_found" => __("No Product Found", "twentynineteen"),
"not_found_in_trash" => __("No Product Found in Trash", "twentynineteen"),
"parent_item_colon" => __("Parent Product", "twentynineteen"),
"featured_image" => __("Featured Image", "twentynineteen"),
"set_featured_image" => __("Set Featured Image for Product", "twentynineteen"),
"remove_featured_image" => __("Remove Featured Image for Product", "twentynineteen"),
"use_featured_image" => __("Use as Featured Image For Product", "twentynineteen"),
"archives" => __("Product Archieves", "twentynineteen"),
"insert_into_item" => __("Insert into Products", "twentynineteen"),
"uploaded_to_this_item" => __("Upload to this product", "twentynineteen"),
"filter_items_list" => __("Filter Product List", "twentynineteen"),
"items_list_navigation" => __("Filter Product List Navigation", "twentynineteen"),
"items_list" => __("Products List", "twentynineteen"),
"attributes" => __("Product Attributes", "twentynineteen"),
"name_admin_bar" => __("Products", "twentynineteen"),
"parent_item_colon" => __("Parent Product", "twentynineteen"),
);
$args = array(
"label" => __("our-products", "twentynineteen"),
"labels" => $labels,
"description" => "",
"public" => true,
"publicly_queryable" => true,
"show_ui" => true,
"delete_with_user" => false,
"show_in_rest" => true,
"rest_base" => "",
"rest_controller_class" => "WP_REST_Posts_Controller",
"has_archive" => true,
"show_in_menu" => true,
"show_in_nav_menus" => true,
"exclude_from_search" => false,
"capability_type" => "post",
"map_meta_cap" => true,
"hierarchical" => true,
"rewrite" => array("slug" => "our-products", "with_front" => true),
"query_var" => "our-products",
"supports" => array("title", "editor", "thumbnail", "excerpt", "trackbacks", "custom-fields", "comments", "revisions", "page-attributes", "post-formats"),
);
register_post_type("our-products", $args);
}
add_action('init', 'cptui_register_my_cpts_our_products');
function wpdocs_register_private_taxonomy1() {
$args = array(
'label' => __('Product Category', 'textdomain'),
'public' => true,
"publicly_queryable" => true,
"show_in_rest" => true,
'rewrite' => true,
'hierarchical' => true,
'has_archive' => true
);
register_taxonomy('product-category', 'our-products', $args);
$labels = array(
'name' => _x('Tags', 'taxonomy general name'),
'singular_name' => _x('Tag', 'taxonomy singular name'),
'search_items' => __('Search Tags'),
'popular_items' => __('Popular Tags'),
'all_items' => __('All Tags'),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __('Edit Tag'),
'update_item' => __('Update Tag'),
'add_new_item' => __('Add New Tag'),
'new_item_name' => __('New Tag Name'),
'separate_items_with_commas' => __('Separate tags with commas'),
'add_or_remove_items' => __('Add or remove tags'),
'choose_from_most_used' => __('Choose from the most used tags'),
'menu_name' => __('Tags'),
);
register_taxonomy('tag', 'our-products', array(// replace your post type with "news"
'hierarchical' => false,
'labels' => $labels,
"show_in_rest" => true,
'show_ui' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array('slug' => 'tag'),
));
}
add_action('init', 'wpdocs_register_private_taxonomy1', 0);
flush_rewrite_rules( false );
I want to make urls of custom taxonomy
site_url/our-products/custom-taxonomy-name
and for single page
site_url/our-products/custom-taxomony-name/single-page-url
so when setting up
Url works fine. but it shows 404 error.
Permalinks flushed by settings-->permalinks-->custom structure-->save
flush_rewrite_rules( false ) in functions.php and while creating custom post type
Solution provided here
Also tried this solution
.htaccess file : checked no issue with it.
just for reference am using wordpress 5.3.1 and there is no conflict with theme or plugin. Tested.
when register custom post type add this to your custom post type
"taxonomies" => [ "category", "product-category" ],
It worked then