Opened 16 years ago
Closed 16 years ago
#15008 closed defect (bug) (fixed)
Deleting a category can orphan posts from the term_relationships table
| Reported by: | blepoxp | Owned by: | blepoxp |
|---|---|---|---|
| Priority: | normal | Milestone: | 3.1 |
| Component: | Taxonomy | Version: | 3.0 |
| Severity: | normal | Keywords: | has-patch regression |
| Cc: | Focuses: |
Description (last modified by )
Steps to reproduce:
1) Create a new category
2) Place a post in only that category
3) Delete that category
4) Observe that post no longer exists in term_relationship table (also causes posts to not appear in edit-posts list when filtered for 'uncategorized').
Cause of problem:
Direct calls to wp_delete_term() bypass logic and args previously populated in wp_delete_category().
Possible solutions:
Add logic from wp_delete_category() above each call for wp_delete_term and pass the args directly to wp_delete_term or conditionally check for taxonomy type and pass to wp_delete_category (a wrap for wp_delete_term) to pick up needed logic.
The attached diff takes approach two and passes to wp_delete_category if 'category' == $taxonomy
Attachments (4)
Change History (16)
#1
follow-up:
↓ 3
@
16 years ago
- Keywords regression added; dev-feedback removed
- Milestone Awaiting Review → 3.1
- Version 3.0.1 → 3.0
I think we should deprecate wp_delete_category() (also being used in XMLRPC) and move the logic into wp_delete_term().
#3
in reply to: ↑ 1
@
16 years ago
Replying to nacin:
I think we should deprecate wp_delete_category() (also being used in XMLRPC) and move the logic into wp_delete_term().
+1
#4
@
16 years ago
Updated diff deprecates wp_delete_category and places logic inside wp_delete_term.
#6
follow-up:
↓ 7
@
16 years ago
Can we abstract that functionality out of wp_delete_term() perhaps?
eg, An action fired within wp_delete_term() which has a functon hooked to manage the category weirdness's?
#9
@
16 years ago
Decided there wasn't much harm in leaving the function as an undeprecated wrapper. We have quite a few of those in the taxonomy API for tag and category functions wrapping generic term functions.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
if taxonomy is category, send through wp_delete_category wrapper function