remove custom taxonomy base / slug [duplicate]

This is not possible out of the box, nor is it advisable, and for good reason. If you really did want to do this you would need to hack the core files.

Why it’s not a good idea:

  • WordPress does not check for Permalink clashes between taxonomy term slugs and page slugs
  • Say you have a page with the slug clothing, and a taxonomy term clothing, and you go to example.com/clothing ? Does the user want the page? Or the term? There’s no way of telling!

Doing this is opening a can of worms for yourself.

Instead I recommend you use the rewrite parameter to redefine the slug as 'reviews'. Note that setting the slug to '' will not do what you desire, even though it seems like it should.

e.g.:

register_taxonomy(
    "review-cats",
    ["reviews"],
    [
        "hierarchical" => false,
        "label" => "Categories",
        "singular_label" => "Category",
        "rewrite" => [
            'slug' => 'reviews'
        ]
    ]
);

I also recommend you use a generator to create your taxonomy and post type code. Go here:

http://themergency.com/generators/