Ticket #6211 (closed enhancement: duplicate)

Opened 4 years ago

Last modified 3 weeks ago

allow identical taxonomy slugs in different taxonomies

Reported by: nerrad Owned by: ryan
Priority: normal Milestone:
Component: Taxonomy Version: 2.5
Severity: normal Keywords:
Cc: janbrasna, Denis-de-Bernardy, kevinB

Description

Expected usage: I create a category named "Planning for WordPress Upgrades" with the slug "planning" and save. With permalinks on the url would be something like, " http://www.mydomain.com/%categorytoken%/planning.

I create a tag named "planning" and save. With permalinks on the url would be something like " http://www.mydomain.com/%tagtoken%/planning".

However: When saving the tag it will inherit the title of the preexisting category instead of saving as the tag I created. There should be no inheritance between taxonomy's.

Also, when editing the name in either the category or the tags the name will be changed in both the tag taxonomy and the category taxonomy. It is not possible to have different names for different taxonomies with the same slug.

Attachments

same-slug-diff-taxonomy.patch Download (858 bytes) - added by nerrad 4 years ago.
patch to be applied after removing unique index key for the slugs field in the _terms table
same-slug-diff-taxonomy-2.patch Download (1.7 KB) - added by nerrad 4 years ago.
adds BOOL canonical param to $args for wp_insert_term

Change History

  • Keywords needs-patch added

Looks like this can't be fixed because the current db schema slugs have a UNIQUE key in the _terms table. I can understand wanting to make sure that there are unique slugs per taxonomy but isn't it overkill to have unique slugs across all taxonomies?

I understand the necessity for unique slugs with posts but the current default permalink structure would allow for like slugs in different taxonomies.

I propose that the SLUG field in the _terms table not be UNIQUE and the suggested attached patch be applied to allow identical slugs in different taxonomies

nerrad4 years ago

patch to be applied after removing unique index key for the slugs field in the _terms table

  • Keywords has-patch needs-testing added; needs-patch removed
  • Summary changed from new terms created with a slug already in db will inherit title of existing term in db even if is different taxomony. to allow identical taxonomy slugs in different taxonomies

comment:5 follow-up: ↓ 7   ryan4 years ago

  • Milestone changed from 2.5 to 2.6

Taxonomy was designed to keep terms canonical between categories. We can revisit that decision, but not for 2.5.

comment:6   ryan4 years ago

Between taxonomies, I should say.

comment:7 in reply to: ↑ 5   nerrad4 years ago

Replying to ryan:

Taxonomy was designed to keep terms canonical between categories taxonomies. We can revisit that decision, but not for 2.5.

Understood - hope it gets revisited :)

Keep in mind when revisiting. This decision regarding taxonomies affects not only category and tag intersections but also any future taxonomies plugin authors create. To keep terms canonical between category and tags is one thing but to force that on all future taxonomies might not be the best route to take.

I suggest adding a new 'canonical' paramater to the $args variable that defaults to true and running the current code. Plugin authors can set it to "false" (when calling wp_insert_term to allow inserting a slug with the same name as another taxomony for their taxonomy.

Of course this still requires dropping the index for slugs in the wp_terms table.

nerrad4 years ago

adds BOOL canonical param to $args for wp_insert_term

Please keep it unique until there is a full featured object modell for anything taxonomic. This here and there hushing leads to nothing but even more chaos. The way it is done now is not that nice but the most failsafe for the time being.

nerrad, even your patches do not fully reflect multiple taxonomies. you just passed it as useless parameter that's all. those different taxonomies have to be reflected in the datastructure as well.

  • Cc janbrasna added
  • Keywords category tag permalink slug taxonomy unique added
  • Component changed from Administration to Taxonomy
  • Owner changed from anonymous to ryan

Related: #3799 + #3683 + #5034 + #6542

  • Cc Denis-de-Bernardy added
  • Severity changed from blocker to normal
  • Keywords needs-patch added; has-patch needs-testing removed
  • Priority changed from high to normal
  • Type changed from defect (bug) to enhancement
  • Milestone changed from 2.9 to Future Release
  • Cc kevinB added

Closed #12911 as duplicate

Related: #19169

  • Keywords needs-patch category tag permalink slug taxonomy unique removed
  • Status changed from new to closed
  • Resolution set to duplicate
  • Milestone Future Release deleted

This is the same issue as #5809, just with different terminology. Closing as dupe as #5809 has patches.

Note: See TracTickets for help on using tickets.