Question: So, I was tasked by client to help him convert his wp menu to javascript dropdown. I did on my development server. He did see the change and I was paid. I deliver the code he deploy it. But, no change on his server. So, I have to spent hours debugging it on his server. It turns out, his other plugin is not compatible with my change. That plugin is really custom. I have to change my code to make sure it's compatible with that plugin.

My question is, **is it fair for me to charge him for the hours I spent on debugging it AND actually fixing it?** or **is it still my responsibility, to make sure my code deployed properly?**

Answer: 
There is a third option here where you could charge him for the fix (ie, finishing the job), but not charge him for the debug time which only occurred because you did not do your *BEST* possible job as a programmer.

Don't get me wrong; **you did what most developers would do** with a contract job. However, as developers we also know that minor differences between servers can be the difference between working plugin and a worthless plugin. Had you of created a mirror of the clients setup (as close as reasonably possible), this likely could have been avoided.

I would *ask* him for payment (keyword *'ask'*; do not REQUIRE payment) regarding the fix, but leave the debug time out of it. Make a point of bringing this to his attention; perhaps include the debug time on the invoice with a deduction.
I can understand why you feel miffed at the situation. You had everything working at your end, and it fell over at the customer site, because of something at their end.

Now, from the customers perspective, they paid you for a change, and you had failed to deliver that change, until you did the extra debugging, and patch...

Personally, (and I have been in that kind of situation) I would not send in an additional invoice, and take the loss on the chin, however, I would factor in the deployment risk into future quotes for this customer, (and similar work else where). If the customer queries the new higher pricing for future work, use this as an example of the time scale risks you are facing, and that you do have rent to pay and need to eat, but that you have already demonstrated that you do stand by the quality of your work and will make sure that they are happy, even after they have paid you.