Does a salt always contain sodium ions?
Nope! But table salt does because it is sodium chloride (NaCl)
Not at all! A salt is a general name for a compound produced when the hydrogen ions in an acid are wholly or partially replaced by metal (or ammonium) ions.
This is because hydrogen ions are positive, and can be displaced by other, more reactive positive ions.
The salt formed will contain the most reactive positive ion and the negative ion from the acid.
For example, iron and hydrochloric acid would give iron chloride and hydrogen gas. The hydrogen has been displaced from the acid and is released as a gas whilst the iron is ionised and forms a salt with the chloride ions from the acid.
There are three main ways of producing a salt.
Reacting a metal with an acid gives a salt and hydrogen.
Reacting a base (something that can neutralise an acid - such as a metal oxide or hydroxide) or alkali (soluble base) with an acid gives a salt and water (the oxygen from the oxide or hydroxide ions can bond with displaced hydrogen to form water).
Reacting a metal carbonate with an acid gives a salt, water and carbon dioxide (we need to get rid of those carbon atoms somehow!).
I hope this helped; let me know if I can help with anything else:)