As a developer/webmaster one thing that is easy to forget is “users” are mostly dumb. So trying to train 100+ users on how to use/access custom fields for added Venue information is a hard task, indeed.
I would like to see “Web address”, “Phone number”, and “Contact Name” added to the venue form. I’m not sure why they weren’t there to begin with.
Dave Navarro
Hi Dave,
There are a couplle of reasons this is not, by defalt in the plug-in. Primarily its because most people (in my experience) do not need it, and for them it would simply be adding clutter to the admin screen. The second would be deciding on what fields to include – and this depends highly on context. Other uses would may want “Parking”, “Disabled access” etc. To account for everybody’s needs would end up in a bloated, and non-user-friendly plug-in.
Granted this is only the very thin edge of the wedge, but I think something like this as something that is more suited to bespoke add-on which is catered to a specific need. (There’s a tutorial on how to add custom meta fields: http://wp-event-organiser.com/documentation/developers/venue-meta-data-and-metaboxes/).
The custom fields metabox is provide to offer a really flexible way of associating meta data to venues in a way that is familiar to most WordPress users. That said, I totally take your point on user-friendliness, which is why I would agree a dedicated metabox is best.
For the reasons mentioned above this won’t be in the core of the plug-in, but I’m aware someone built something like this for their needs, so I shall try to get in touch with them about whether they would want to make that available for others. The above tutorial provides complete working code – I’d be happy to help you adapt it to for your specific needs. Feel free to email me if you want to discuss this.
Stephen Harris
I’d like to add those fields to the existing venue metabox. What’s the name/slug of that?
Dave Navarro
Here’s a thought… What about an admin interface to add additional fields to the event and venue forms?
Under “Settings->Event Organiser” add a new “Custom Fields” tab at the top. On that tab let users specify additional fields:
Field Name, Description, Type
“phone”, “Venue Phone Number”, “text”
“contact_name”,”Venue Contact”,”text”
“parking_fee”,”Parking Fee”,”text”
Dave Navarro
The metabox is for venue address details, isn’t strictly a metabox (cannot be moved / hidden). While you can add additional fields using the eventorganiser_venue_address_fields
filter, the value entered into the corresponding inputs would be used to determine the latitude/longitutude co-ordinates of the venue. As such, using it for phone numbers etc may cause the venue to be misplaced on the map. So I’d recommend a seperate metabox instead.
While an extra tab for ‘custom fields’ is possible, there are unfortunately a few drawbacks.
-
As far as EO would be concerned the data (phone number, contact name etc) has no meaning. How you might want to display a phone number would be different to how you would display a contact address (especially in terms of using of micro-data or protecting email addresses from email harvesters).
-
It adds additional settings to the admin page which results in poorer UI. It’s also something most users do not need.
To build on 1. while it gives an admin the freedom to add/remove/edit custom fields, this is typically not what a site administrator should need to be doing. Because this data has specific meaning to the site and its visitors, it will probably need to be displayed in a particular way so as to be meaningful. (E.g. the telephone number might have a visual prompt for what it is, the email address might be also be a link). If an admin is to be editing the fields, they would also need to be editing the front-end of the site. So the task becomes a developer’s one.
On the flip side, the above linked to tutorial gives the developer the freedom to add metaboxes to the main part of the page, or to the sidebar, depending on which would make sense. It also gives them the freedom to use the appropriate type of input (datepicker, timepicker, checkbox etc) as well as ensure entered data is valid.
Stephen Harris