All I want to do is add a bitcoin donation button to a website...and I assumed it would be as simple as the bitcoin wallet address in the href tag and the button image in the image tag and there ya go. If someone clicks, it'll take them where ever the address leads to.
Apparently it's not that simple.
Sure it is. See my signature, for example. Is there a specific problem you're experiencing?
I have 1. website, 2. bitcoin wallet address, 3. button image
How exactly do I need to add this?
<a href="bitcoin:address?label=whatever%20you%20want">
<img src="imagefilename" alt="whatever you want">
</a>
You should also have the Bitcoin address in plain text on the website, for the benefit of people who don't have a Bitcoin client installed and are therefore unable to use the link directly.
What would I add for a QR code? Where does it go?
You'd add another image. Put it near the donation button. Or make it part of the same image. Either way works.
Also, what is the public key and what do I do with it?
The public key is irrelevant and unnecessary for this operation. Do nothing with it.
Private key?
Do
especially nothing with it. Private = don't put it on your website.