WordPress.org

Make WordPress Core

Opened 6 years ago

Last modified 2 months ago

#7740 new feature request

Merge Tags

Reported by: hempsworth Owned by:
Milestone: Future Release Priority: normal
Severity: normal Version: 2.7
Component: Taxonomy Keywords: needs-patch
Focuses: Cc:

Description

As mentioned in a support thread, tags can get cluttered over time with many different tags meaning basically the same thing. To clean up tagging the ability to merge tags would be a life saver.

The functionality I had in mind was being able to select two or more tags in edit-tags.php and select 'Merge' from the 'Actions' dropdown. When you click 'Apply' a lightbox would open with the following:

What should become the primary tag?
[Textfield]
The name is how the tag appears on your site.


What should become the primary tag slug?
[Textfield]
The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.


Which slugs should continue to point to the new primary tag?
[Textarea automatically filled with the old slugs]
One slug per line.


Save | Cancel

The last textarea allows old slugs to still point to the new primary tag - meaning any old URL's will still work.

-~- Example -~-~-~-~-~-~-~-~

I've got the following tags which all mean the same thing:

TV, the box, telly

I select them all in edit-tags.php, select 'Merge' and 'Apply'. In the popup box I choose 'television' as the primary tag, 'television' as the slug, and list the old tags in the textarea.

I now have a tag called 'television' which has "television, TV, the box, telly" all pointing to it, so my old URL's still work. All of my posts which use the old tags have now magically swapped to using 'television'.

Change History (12)

comment:1 AaronCampbell6 years ago

I love the idea. I actually just went through and merged some of my tags manually, which involves re-tagging posts with the correct one. I honestly don't have the need for old slugs to point to the new tag, but I'm sure some people do.

I see this becoming a little less necessary now with auto-completion on tag names, but it would still be nice.

comment:2 follow-up: DD326 years ago

The Taxonomy system currently has the ability to mark a tag as an alias of another doesnt it?

I believe the original intention was to allow for a plugin to come along and provide the UI/features and then to integrate it into WP if there was a good usecase selection...

Has any plugins come along to fill that gap in yet?

comment:3 ryan5 years ago

  • Milestone changed from 2.8 to 2.9
  • Type changed from enhancement to feature request

comment:4 Denis-de-Bernardy5 years ago

  • Keywords needs-patch added

comment:5 Denis-de-Bernardy5 years ago

  • Component changed from Administration to Taxonomy

comment:6 Denis-de-Bernardy5 years ago

  • Milestone changed from 2.9 to Future Release

comment:7 in reply to: ↑ 2 scribu5 years ago

Replying to DD32:

Has any plugins come along to fill that gap in yet?

I've made one: Merge Tags

comment:8 kevinB4 years ago

  • Cc kevinB added

comment:9 solarissmoke3 years ago

  • Keywords dev-feedback added

Is there traction for putting this into core? Or can we just leave it for scribu's handy plugin?

comment:10 SecGen3 years ago

I was about to create a ticket requesting this feature. In my opinion the managing and merging of tags in this way is such basic functionality that should ideally be available as part of a core WordPress setup.

comment:11 wonderboymusic8 months ago

  • Keywords dev-feedback removed

comment:12 celloexpressions2 months ago

This is still something that would be very useful, and it should probably be in core, as tags have an unfortunate tendency to become untenable. In terms of UI, I think adding a bulk edit item in edit-tags.php, which then brings up a select dropdown to choose which of the selected tags to merge into would be best, at least initially, as that is simpler than having to enter a new tag name, and the merged tag could always be renamed.

Note: See TracTickets for help on using tickets.