There are many shops in Menacho street, like Zara, Bershka... Etc. In Santo Domingo St. There are also small curious boutiques.
You can buy food in so many supermarkets. There is one in the city centre, Eroski, which is in San Francisco square.
The best places to eat are in Elvas, the nearest city in Portugal. (it's only 5 kilometers from Badajoz).
If you want to eat products of the region you can go around the old town, where you will find many bars and restaurants where you can eat iberics and meat of extremadura. Also you can have a small beer with a free "tapa".
La santina is a very good place to stay and have a plate of iberic meat, ham...
La casona de arriba is a very good place to have a beer before lunch, with a small tapa.