Adding new or existing tags to a blog post
Take a step back and look at your code. Do the different classes/objects ha ve Single responsibility? Or is the same class responsible for adding posts, managing tags and coupling a tag to a post?

I think it is time to go back to the drawing board and see what you actually want/need.

Then every class you write should only have a single responsibility. e.g. representing a comment or a TaggableComment class that extends the Comment class and adds the ability to add and remove tags.

Also make sure that a Class shouldn't have to know how to handle the creation of other objecs. Using the 'new' operator inside a class methods is bad practice. If you would like to change the way a Tag is constructed, you will now have to change the Comment class aswell, not useful.

Look into some programming patterns, A really good read is: http://addyosmani.com/resources/essentialjsdesignpatterns/book/ I know, it's not php but javascript. But moest of the patterns there also apply to php, it's the idea behind the patterns that will help you