WordPress Custom Post Types and 404 Error
If you’re working on a custom post type in WordPress and make a change to the post type or category slug (or add a new one), and you’re getting 404 errors when visiting the pages at the new address, chances are you just need to refresh the WordPress rewrite rules for permalinks. You can do this in your code by calling the flush_rewrite_rules() function:
http://codex.wordpress.org/Function_Reference/flush_rewrite_rules
…or, go to the WordPress admin under Settings > Permalinks and hit the “Save Changes” button, which also triggers the function. This is usually the best and quickest fix if making changes while developing. If using the flush_rewrite_rules() function, be sure to only call it on plugin or theme activation and deactivation.