Opened 13 years ago
Last modified 5 years ago
#20171 new defect (bug)
Categories/Tags links are broken in WP 3.3.1, with multisite/subfolder install
Reported by: | tszming | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 3.1 |
Component: | Permalinks | Keywords: | has-patch |
Focuses: | multisite | Cc: |
Description
All the default categories/tags links are not working, showing error..
"This is somewhat embarrassing, isn’t it?"
Steps to reproduce:
- Install WP 3.3.1 on domain, e.g. http://blog.example.com
- Enable multi-site features, using subfolder instead of subdomain
- Create a site, e.g. http://blog.example.com/test1
- Create a post, e.g. http://blog.example.com/test1/2012/03/04/test1/
- Enter the default category link, e.g. http://blog.example.com/test1/category/uncategorized/
Now you will see the message: "This is somewhat embarrassing, isn’t it?"
Fix:
- Enter this link: http://blog.example.com/test1/wp-admin/options-permalink.php
- Change nothing, press "Save Changes"
- Now you can view the link correctly: http://blog.example.com/test1/category/uncategorized/
The above issue also apply to tags
Attachments (2)
Change History (19)
#1
@
13 years ago
- Component changed from Permalinks to Multisite
- Keywords needs-patch added
- Severity changed from blocker to normal
#2
@
13 years ago
- Version changed from 3.3.1 to 3.1
Rewrite rules are flushed during site creation, see wp_install_defaults().
The problem is that categories, tags and formats have already been registered with the "/blog/" prefix because they were registered during the init of the main site. So, when the rewrite rules are generated they have a different structure to the rest of the rules. I suspect that you encounter the same problem for any custom taxonomies/post types which register with_front as true.
In 3.1 it was only formats that had the problem. with_front => true was introduced for categories and tags in 3.1.1.
#3
@
13 years ago
I thought of maybe adding a "rewrite_init" action to WP_Rewrite::init() and hooking taxonomy registration onto that. So taxonomies are re-registered whenever the permalink structure is changed.
#4
follow-up:
↓ 5
@
13 years ago
'rewrite_init' seems like a good idea. Any drawbacks to using it for general CPT and taxonomy registration?
#7
@
11 years ago
- Milestone changed from Awaiting Review to 3.7
Moving to 3.7 for review per #24585.
#9
@
11 years ago
- Keywords has-patch needs-docs added; needs-patch removed
rewrite_init.diff still applies to current trunk. This new action will need docs if we decide to move on it for 3.7.
#11
@
11 years ago
Tested 20171.diff against current trunk and all works as expected.
#12
@
11 years ago
- Milestone changed from 3.8 to Future Release
I like this but there are going to be some side effects. For one, WP_Rewrite is init'd well before the init hook, including before the locale is loaded. We could do it on both 'rewrite_init' and 'init', but at that point, we're firing create_initial_taxonomies() *three* times on bootstrap. Maybe we attach it to rewrite_init only after init() runs once.
This needs more testing and careful consideration.
#14
@
10 years ago
Its really a long time that this has not been corrected.
New installations can benefit if a small notice is added at the time of Multisite installation:
"If its a subfolder installation "Categories" and "Post Format" links will not work or will be problematic. Do you still want to continue with 'subfolder'?"
Is there any plugin / can any one kindly contribute a plugin for those of us who have already done subfolder installation and later discovered that there site members are unable to use categories out of the box? Thanks.
Seems like the permalinks are not flushed when creating a site.