Miss Creant certainly has the right idea about carpet posts; cats don't discriminate well. And tree limbs are ugly. A better idea is a wood post made of a very soft wood, such as cedar. Such posts are available commercially and on the Internet. Cats can get their claws into the grain, and it also makes a nice sound, which they seem to like.
The best way to train them is to use scratching the post as a way to get a treat. Scratch the post, with your fingernails, say "Scratch" and offer a treat that will cause the cat to put its feet up on the post to get to the treat. When it extends its claws, say "Scratch," and give the cat the treat. It may take a few days, but eventually the cat will get the idea.
For any other scratching behavior, make a hissing sound and then go to the post and do some more training. Even cats that don't like any other kind of post or who use the carpet, this kind of post and technique works.