Is there a plugin that would restrict non-admin users to only existing tags? I could have used categories for this, but it will be difficult to display with a large population (~1000) of tags.
If you do not already have your tags created, you can use the "Bulk Add Tags" plugin - http://wordpress.org/extend/plugins/bulk-add-tags/
Then to restrict all users except admins from adding new tags via the "New Post" screen, add this code to your theme's functions.php file:
This will simply hide the box for entering new tags from all users except administrators.
I actually use this method to hide many areas of the "New Post" page. Simply find and add the element's div class or id before
I prefer this method over many plugins because it does not remove functionality completely from Wordpress, the functionality is simply hidden from users who do not need it.
|show 1 more comment|
Your question has really intrigued me. I can see a huge use for this situation, so I will do whatever I can to help you find the answer.
Here is another solution, not exactly what you mentioned in your comment on the other answer, but it does make it a little easier for users to find the tags they want, as the tags are listed alphabetically.
Manage Tags Capability plugin - http://wordpress.org/extend/plugins/manage-tags-capability/
Also, should note: This method allows users to select from ALL available tags. I just realized, the other method only allows users to select from the "most used" tags.
Wordpress already does an auto-predict when typing tags, so essentially, we need to find a way to allow users to type the tag they want, but not add a new one if they cannot find it.
This is how I solve same problem (in functions.php of your theme):
First we check if it's admin area, then we check if user can publish posts (usually it's admins and editors), than we do our magic with remove_meta_box.