I've WCF service and .net client on local machine. I've generated wsdl for the client. It has bunch of files like .svcinfo, .wsdl, .xsd, .svcmap, .cs. Some of the files have address of the service https://localhost:12345/foo/bar.svc
Eventually the service and the client will be deployed to testing and then to production. At that time do I need to regenerate the wsdl for the client to reflect the correct urls in the .svcinfo, .wsdl, .xsd, .svcmap, .cs files? Or changing the endpoint address in the client config file is enough?
You have absolutely no need to do such a thing. We usually expose metadata information about a WCF service through its metadata endpoint. The client can then generate a client proxy class by adding a service reference, and the proxy class can implement calls to the service.
Client-side.

Optionally, we can also publish service data in the form of HTTP/https, just configure the properties below.
By which, the client could directly download the WSDL/SingleWSDL file, so that generate the client proxy class manually.

Feel free to let me know if there is anything I can help with.