[wp-trac] [WordPress Trac] #56171: Unexpected behaviour and data loss with a post type called 'link' and Link Manager plugin active
WordPress Trac
noreply at wordpress.org
Fri Jul 8 00:07:32 UTC 2022
#56171: Unexpected behaviour and data loss with a post type called 'link' and Link
Manager plugin active
--------------------------+-----------------------------
Reporter: manfcarlo | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Taxonomy | Version:
Severity: critical | Keywords:
Focuses: |
--------------------------+-----------------------------
Steps to reproduce:
0. Install a fresh site (this will be easier to reproduce if the posts
table has a low `auto_increment` value)
1. Install the Link Manager plugin (prior to version 3.5 this plugin was
not required)
2. Register a post type called `link` (you can use the default args)
**3. Observe that "Link Categories" is added under the newly registered
post type in the admin menu**
4. Publish a post through the `link` post type and take note of its
numeric ID
5. Add enough links through the Link Manager until you reach the same
numeric ID observed in step 4
6. Assign a link category to the link with the same numeric ID observed in
step 4 (if it's a fresh site it shouldn't be too many)
**7. Go back to the `link` post type and observe that the published post
has received the link category that was assigned to the link in step 6**
8. Now delete the post permanently
**9. Go back to the Link Manager and observe that the link has lost its
category that was assigned in step 6**
This bug is caused because the taxonomy `link_category` is registered for
the string `link`. [https://github.com/WordPress/WordPress/blob/6.0/wp-
includes/taxonomy.php#L136 (See code)]
Interestingly, the function `register_taxonomy_for_object_type`
[https://github.com/WordPress/WordPress/blob/6.0/wp-
includes/taxonomy.php#L734 rejects any string that is not registered as a
post type.] Of course, if the same check were included for immediate
registration through `register_taxonomy`, link categories could not exist
at all.
I discovered this while trying to get a clear answer on whether taxonomies
were actually supported for non-post entities. I was nearly convinced they
were not, until I noticed that link categories exist, and now it looks to
me that no one knows the answer.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/56171>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list