Type the zip code or postcode in the Near field of the GeoDirectory search form, not the keyword field. The Near field turns what you type into a point on the map and finds listings around it. The keyword field only looks in listing titles, descriptions, categories and tags, so a zip code typed there won’t find anything unless it is part of that text.
How far around the zip code it searches
Near searches only return listings within the radius set at GeoDirectory > Settings > General > Search, Search near radius. It is 7 by default, in the unit chosen in Search distances (miles or kilometers). Increase it if zip code searches miss listings that are close by.
The same radius explains why a region on its own, like a state name, can return nothing: the search finds the center of the state and only looks within that radius of it. A city with its region, such as “Rugby, North Dakota”, gives a point close to the listings you expect.
If your directory covers one country, enter it in Search near additional on the same settings page (for example “USA”). It is added to what visitors type, so a zip code is looked up in the right country.
Change the Near field text
To tell visitors they can use a zip code, change Near field placeholder text on the same page, for example to “Zip code or city”.
Add a category drop-down
With the Advanced Search add-on, add the Category field at Places > Settings > Search. It then shows in the search form. To show the filters without visitors clicking a button first, set Open customize filters to Always open in the GD > Search element. See How to filter search results by category.
More on how the search works: How does the GeoDirectory search work.