One of the hardest questions to be asked as a programmer who primarily does web development is: "How much for a website?" It's one of those questions that doesn't really have an exact answer. "How much do you want to pay for a website?" is probably a better question.
There are two parts to "costing" a website. The build which includes design (or sourcing a design, i.e., from pre-existing templates), the build, content and ensuring all the meta-data is setup correctly so that search engines can scrape and crawl the site correctly. Then there's hosting, you need a domain name, a server/service to host the site, a DNS server to point your domain to where the site is hosted, and any associated databases and media storage for images/videos/PDFs/etc... It all adds up. The build is a one-time cost that you pay up front, until you want to make changes to the site. The hosting is on-going, domains need renewing, hosting services needs to be paid monthly.
Here's a breakdown.
Template: $50 (https://www.themeforest.net/) Wordpress and hosting setup: $1,000 (from your mate who does Wordpress sites)
On-going costs Prices are mostly sourced from Amazon AWS for simplicity, and are listed in USD.
.com domain name: $1/mo ($12.00/year) DNS hosting: $0.50/month Wordpress hosting: $29/mo (https://www.wpengine.com/)
That's $1,142.5 up front for a website, and $47 a year onwards.
Oh, but you want to sell stuff on your site as well? That'll be extra. You want a feedback form? Comments section? The ability to moderate comments? A media gallery? You want a custom design? It all adds up. Even though there are Wordpress plugins to handle most things, they can be somewhat inflexible and need customisations to make them fit within your site.
So how much does a website cost? It depends.