I've created a custom taxonomy for my posts, and I was wondering if there is a way to add an extra input field (a text input) for every taxonomy term inside the edit post panel.

What I want is not a simple taxonomy meta field, because meta fields are always the same for each term in each post. Here's an example of what I want.

Let's say I have a taxonomy called "personality", and the terms are:
- cheerfulness
- lazyness
- extroversion
I want to be able to add a score to everyone of these terms, but different for every post. For example, post number one called Mark has
- cheerfulness 10
- lazyness 5
- extroversion 8
Post named Mary
- cheerfulness 2
- lazyness 9
- extroversion 3

To achieve this I think I should have an input field next to every taxonomy term. Too complicated? I guess new database tables must be created in order to do this. Any idea? Someone ever did something like this?


This is not a taxonomy field you need, because as you described, the name of the field will stay constant for every category, but its value will change for every post. So the field should be attached to the post, not to the category. What you actually need to use is a post custom field, that you could name (internally) something like _post_cheerfulness, _post_lazyness, etc. (The display names will of course be Cheerfulness, Lazyness, etc.). If your list of categories to be voted for will remain constant, this is extremely easy : you just need to create as many custom fields (possibly with meta boxes to make it look nice, maybe even with a star-rating system). If your list of categories will change all the time, it will be more complicated. But it's still achievable (with a dynamic custom field metaboxes generator that can loop through all categories).

  • Thanks barakadam. Then I guess I can connect each post custom field to each taxonomy with a meta field assigned to the taxonomy, right? – She Hulk Dec 10 '12 at 12:16
  • The name of your custom post field does that for you. Naming it _post_cheerfulness, you can strip off "_post_" and get the name of the term : "cheerfulness". Or you could use another prefix, like _rate_cheerfulness, etc. You only need to stay consistent with your own naming convention. – barakadam Dec 10 '12 at 12:47
  • You're right. Why do I always complicate everything? :P – She Hulk Dec 10 '12 at 12:58
  • So is this the right answer for you? Keep us posted. – barakadam Dec 10 '12 at 13:46
  • yes, sorry, I forgot to check it :) – She Hulk Dec 10 '12 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.