Adding a new taxonomy (or similar) in the UI of a Custom Post Type, but with additional fields other than the default “name” field
Question: I’m considering doing a CPT for a list of upcoming live shows of a band. I’m not fan of “reinventing the wheel”, but I fear that the plugins for these I’m aware of are either too outdated and with a funky UI (like GigPress), a bit inflexible to work in some cases (like Songkick and Bandsintown integrations, mainly with some “venue” or “festival settings”) or has too many features I don’t need and aren’t optional (like almost everyone else. I don’t need a name (title) nor an “organizer” for the shows, for one) and in all cases still lack some custom needs I have.
My main issue with doing a Custom Post Type with custom fields, either with the core code or which whatever field utility, is when I have to fill the “venue” setting, because, unlike all other fields that can use a date/time field (the date of the show), a link field (tickets / more info), a select field (ongoing/sold out/cancelled/postponed) or a taxonomy field (tour name if apply / festival if apply), the “venue” one is shaped by at least three (3) different fields:
- the name of the venue (a text field),
- the city (also a text field) and
- the country (a select field).
If each venue were unique for a show, it would be easy, but for several cases, the venues have to be reusable and sometimes I have to edit their names in mass, so the ideal UI when filling the venues on an individual “gig” CPT should look like:
- A select list (or similar) of all the already existing venues in the database, each are listed by the venue name itself AND the city + country in brackets, to avoid confusion when different venues share a name (like “Main Square”)
- if the venue is not in the database, give the option to add one by displaying the three fields I need to fill for each one and save them to the database (sort of when one have to add a taxonomy, but with 3 fields. not sure if they have to be a taxonomy, another Custom Post Type or something else, through).
I’m not sure how can I solve it so I ask if is at least possible to do in some way, either with just the code or with a plugin for custom fields. There are some event plugins that do exactly that (like GigPress, which don’t use CPT), but I’m not sure how they work and I have other issues with these plugins as a whole as mentioned.
BTW, I doubt a “Google Map” like field would work for me as I fear not all venues can be listed in that way. Also I wish to avoid using a regular taxonomy and manually adding ALL the info into the name (like manually typing all taxonomy names as “
Venue name (City, Country)” ) as it is too easy to screw up