Remove base slug in permalinks of hierarchical cus

2019-07-30 03:16发布

问题:

I have a hierarchical Custom Post Type called project, registered as follows:

register_post_type( 'project',
    array(
        'public'            => true,
        'hierarchical'      => true,
        'rewrite' => array(
            'with_front' => false
        )
    )
);

The URLs currently look like this:

  • https://example.com/project/hello
  • https://example.com/project/hello/world

I would like the URLs to look like this:

  • https://example.com/hello
  • https://example.com/hello/world

How can I most efficiently accomplish this such that other URLs are not interfered with (e.g. pages, blog posts, other custom post types)?

All the solutions that are currently out there either cause 404s on other pages on the site or do not work correctly with nested URLs.