Custom post types are now supported in the query, basically. So you can do something like query_posts('post_type=custom'); and similar.
This is bigger than it seems, because with query support comes easy rewriting support. For example, to have /type/custom only show "custom" posts, I could have this in a plugin:
PHP Code:
function post_type_add_custom_urls() {
add_rewrite_tag('%post_type%','.*');
add_rewrite_rule('type/(.*)[/]?$', 'index.php?post_type=$matches[1]', 'top');
}
add_action('init', 'post_type_add_custom_urls');
If I wanted to then hook those to a custom template, like custom.php, I could do this:
PHP Code:
function post_type_add_template() {
$post_type = get_query_var('post_type');
if (!empty($post_type)) {
locate_template(array("{$post_type}.php","index.php"), true);
exit;
}
}
add_action('template_redirect', 'post_type_add_template');