Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.
  1. I want to systematically add tags (/custom taxonomy terms) to all previous posts, from a predefined set of tags (i.e., not Yahoo tags or tags from 3rd-party APIs).

  2. For future posts, I would like tags to be either suggested or added based on the content of posts.

  3. Ideally: I would like a more customized way of recommending/adding tags than simply looking for the tag text in an entry; ideally I'd be able to specify a set of related words (such as with a term meta field) so that, for example, a tag of Education is added not just when "education" appears in a post but when some of a specified list appear in the post: teachers, school, standardized tests, math, etc.

Can you recommend a plugin or strategy that would help achieve this?

I'm open to ideas both simple and complex.

share|improve this question

closed as off-topic by toscho Jun 24 at 20:56

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

    
I'm also open to arguments in support of Yahoo/3rd-party tag systems, which would allow me to use a plugin like Auto Tag Suggest [wordpress.org/extend/plugins/auto-tag-suggest/] or Strictly Auto Tags [wordpress.org/extend/plugins/strictly-autotags/] –  supertrue Aug 11 '11 at 4:35
    
There is a plugin that can do exactly what you want, it is called Automatic Post Tagger. –  user21198 Oct 7 '12 at 2:38

1 Answer 1

I wouldn't call myself an expert so test what I'm offering, but you may try to add a hook when you publish the post that uses a preg_match (or similar function) to find those terms in the post content. Then, based on what you found you could add the wp_set_post_terms.

share|improve this answer

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