Tagging Tools plugin for Question2Answer
This is an event plugin for popular open source Q&A platform, Question2Answer. It allows you to select 'tag synonyms' - unwanted or duplicate tags that should be changed or removed.
For example if you had
websites as a tag, some users may tag a question with
website instead. With this plugin you can set
website to always be changed to
websites when a user enters it.
Other features include min/max tag length and redirecting old tag pages to the new synonym.
Pay What You Like
Most of my code is released under the open source GPLv3 license, and provided with a 'Pay What You Like' approach. Feel free to download and modify the code to suit your needs, and I hope you value it enough to make a small donation - any amount is welcome.
Installation & Usage
Download and extract the files to your Q2A plugins folder (e.g.
qa-plugin/tagging-tools). Check the releases page for the latest official version.
If your site uses a different language, copy
qa-tt-lang-default.phpto a new file with the required country code (e.g.
qa-tt-lang-de.phpfor German) and edit the phrases for your language.
Log in to your Q2A site as an Administrator and head to Admin > Plugins.
Under "Tagging Tools", enter each pair of tags on a new line, separated by a comma. For example,
q2a,question2answer(without quotes) means that a tag of
q2awill be replaced by
helpon its own line means that tag will be removed. Save the changes and all future questions will replace your chosen tag synonyms.
If you have existing mistagged questions, tick the checkbox to replace all tags in older questions with your synonyms. WARNING: if you have a lot of questions on your site, converting all the old questions will take a long time. It's recommended that you add tag synonyms a handful at a time to avoid too much overhead.
The minimum/maximum length options do as the name suggests - prevent users from entering tags that are too long or too short.
QA_DB_RETRIEVE_COMPLETE_TAGSconstant) that are used for auto-complete. The server-side filter checks against all tags, i.e. if JS is turned off the user can input a tag not in the most popular but it must already exist.
The redirects option will add 301 redirects from old tag pages to new tag pages. For example if you change
question2answerthen the page
example.com/tag/q2awould now be blank, so this option will redirect the page to
example.com/tag/question2answer. If you use this feature, make sure to convert all existing tag synonyms! Otherwise if you still have some questions with the old tags, those tag pages will not be viewable any more.