Support » Fixing WordPress » Permalinks 404 with custom post type.

  • Resolved onelli


    I’m currently having a permalink problem that I can’t seem to track down.
    I’m using WP 3.0 with some custom post_types that I’ve made.
    In this example, I’m using the custom post type “event”.

    This is my custom permalink structure:

    This an example of the permalink that it provides me, that 404’s:

    However, if I enter the “default permalink structure” in to the url, such as:

    Then it redirects me to this, which works:

    It’s weird how “/event/heres-a-title/” doesn’t work (the permalink that wordpress gives me), but “/event/heres-a-title/?event=heres-a-title” does.

    I followed some standard tutorials on how to properly create custom post types, even a tutorial that was supposed to stop these 404’s.

    Here’s my register_post_type:

    register_post_type('event', array(
    			'label' => __('Events'),
    			'singular_label' => __('Event'),
    			'public' => true,
    			'show_ui' => true,
    			'_builtin' => false,
    			'_edit_link' => 'post.php?post=%d',
    			'capability_type' => 'post',
    			'hierarchical' => false,
    			'rewrite' => array("slug" => "event"),
    			'query_var' => "event",
    			'supports' => array('title','editor')

    Any help would be greatly appreciated. Even just a workaround to have all my custom post types permalink to the working structure would be great.


Viewing 15 replies - 1 through 15 (of 39 total)
  • Q: How can custom post types be set to use my permalink settings?
    ;In short, they can’t. Custom post types don’t use the permalink setting structure. See Otto’s explanation:

    I guess I was misled in to using custom post types to begin with, but I’m still okay with this because I don’t need it to do the things listed in Otto’s explanation:

    – show up in “the blog” – No
    – show up in the normal feeds – No
    – fit with the normal permalink structure – No

    I just want the links to work, in any structure. When I query the posts, I want to be able to link to them. Either using the_permalink() or something else. Any ideas on how I might do that? Is there a way to reference the slug-ready title of the post?

    Being able to do base_url + “/?event=” + post_title_slug would be fine with me.

    I don’t need it to use my custom permalink structure, I just want to be able to point to the post without a 404.


    I’m using a lame workaround, but it works for now.

    I removed the %category% from my permalink structure. Having that somehow makes the custom posts 404. Now I’m just using a date structure.

    Thanks for your help.

    I found this but haven´t tested yet:

    I got the same issue, on the 4th custom types I have added to my site… No way to figure what was wrong. So just to make things clear, the solution has explained in the link Decio posted is:

    “One note that’s very, very important: your custom URLs won’t work until you go to Options → Permalink in wp-admin and re-save your current URL structure. This will flush WP’s current URL structure and add our new rewrite rules.”


    I am having the


    same problem as the original poster described.

    I have my overall permalink structure set to:

    If I browse to

    I get redirected successfully to

    But if I browse to the link that WordPress generates:

    I end up with a 404.

    I’ve tried to rebuild my .htaccess file using Settings > Permalinks, but this has not fixed the issue.

    I don’t expect the custom content types to work with with my permalink structure in terms of categories; I only expect that the Rewrite function for WordPress’s register_post_type() function will work as described. Unfortunately, it does not seem to work.

    Changing my permalink structure doesn’t fix the problem.

    Is there anyone out there who has actually successfully implemented custom post types with url rewriting?

    For your reference, the code I’m using is:

    'add_action( 'init', 'create_post_type' );
    function create_post_type() {
    register_post_type( 'event',
    'labels' => array(
    'name' => __( 'Events' ),
    'singular_name' => __( 'Event' )
    'public' => true,
    'rewrite' => true,
    'show_ui' => true, // UI in admin panel
    '_builtin' => false, // It's a custom post type, not built in!
    '_edit_link' => 'post.php?post=%d',
    'capability_type' => 'post',
    'hierarchical' => false,
    'supports' => array('title','author')

    Is this a bug? Misconfiguration on my end? A misunderstanding of what “rewrite” means in the Codex? Any help would be much appreciated.

    Note: I’ve also read through Otto’s responses on the automattic mailing list, as seen here:

    If I read this correctly, he seems to be saying that Permalinks for custom content types won’t work at all if you have %postname% in your Settings > Permalinks permalink structure. Can someone confirm for me that this is true?

    If so…well, that’s a little klorbed, I suppose, since almost everyone I know uses %postname% in their permalinks for SEO purposes.

    I am also having the same problem. I encountered it today when I changed a site I had been operating CMS-style, with a static page displayed on the front page …

    … to include blog posts on the front page.

    Any help would be appreciated.

    any updates on this subject?
    it seems that function ‘register_post_type’ does not generate new rewrites it’s supposed to.

    Hey there,
    I’m having the same issue here, has anyone found a resolution to this?

    Any ideas?

    Hi all,
    permalinks and custom post types work fine for me – one must have a prefix for the custom post type and MUST not use that prefix for anything else that may appear in a permalink structure.

    EG: if you have a category called event and you use category in your permalink structure, that will cause a clash with an ‘event’ custom post type permalink.

    My permalink settings:


    It ensures a unique url with no possibility of a clash (post id makes std posts unique)

    The UNIQUEness of the permalink must apply to taxonomies too I imagine

    I’ve managed to accomplish exactly what i needed with custom post type rewrite rules. Here’s a brief explanation and code

    I’m looking for help on a related problem here:

    I saw the post about not letting the same term occur elsewhere in your permalink structure. But when I tried changing my ‘event’ post type to ‘rsvp-event’ it made no difference on the system of a user who was having trouble with 404 errors. Yet it works fine on my site and those of some other happy users of the plugin.

    This might work for some of you:

    After adding a custom post type, you may need to navigate to the Permalinks Settings page. There’s no need to update or Save Changes.

Viewing 15 replies - 1 through 15 (of 39 total)
  • The topic ‘Permalinks 404 with custom post type.’ is closed to new replies.