Opened 15 years ago
Closed 14 years ago
#13068 closed feature request (wontfix)
Custom filters and actions for post_types rewrite urls
Reported by: | butuzov | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 3.0 |
Component: | Posts, Post Types | Keywords: | needs-patch close |
Focuses: | Cc: |
Description
Hi.
Can developers get a filter for {$args->rewriteslug?}/%$post_type% ?
and few do actions after?
let me be clear.
we (developers) can't change this rewrite's for custom needs, and we can't add after that custom variables.
here is code that we have now.
if ( $args->hierarchical ) $wp_rewrite->add_rewrite_tag("%$post_type%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name="); else $wp_rewrite->add_rewrite_tag("%$post_type%", '([^/]+)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name="); $wp_rewrite->add_permastruct($post_type, "{$args->rewrite['slug']}/%$post_type%", $args->rewrite['with_front'], $args->permalink_epmask);
its can be replaces by the code
something like this
$wp_rewrite->add_rewrite_tag("%$post_type%", $args->hierarchical ? '(.+?)' : '([^/]+)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name="); $wp_rewrite->add_permastruct($post_type, apply_filters("rewrite_base_custom_{$post_type}", "{$args->rewrite['slug']}/%$post_type%"), $args->rewrite['with_front'], $args->permalink_epmask); do_actions("rewrite_base_custom_actions_{$post_type}");
Change History (7)
#2
@
15 years ago
As a plugin author, you may set rewrite to false for the post_type registration, and call $wp_rewrite->add_rewrite_tag() / $wp_rewrite->add_permastruct() with as many complex structures as you wish.
IMO, The permalink support included in core should be as basic as possible, for this release at least. More complex permalink support (such as whats provided for posts) could be possible in a future release..
My suggestion is, that this be closed as wontfix, due to the much more powerful options being available...
#3
@
15 years ago
Hi dd32.
I am not talking about add_permastruct, i working with custom post types right now, and inside register_post_type no any posible way to implrove it. This is a new feature and its can be better, so why not add a simple way in WP ideology to improve new features?
i havn't take a look to taxonomies. but i think there is can be few more improvements.
#4
@
15 years ago
- Keywords needs-patch added
- Milestone changed from 3.0 to 3.1
I am not talking about add_permastruct, i working with custom post types right now
My point was, register_post_type() makes a BASIC and GENERIC add_permastruct() / add_Rewrite_tag() rewrite rule for your post_type.
Your plugin still needs to flush the rewrite rules on activation / adding of the post_type. At this stage, If the basic rewrite rules are not powerful enough for your purpose, you'll need to add a rewrite rules yourself to achieve it.
I'm moving this to 3.1 as 3.0 will have nothing other than a bare basics of URL routing for custom post_types.
Forgot to tell
this is a wp-includes/post.php
function register_post_type