Events Made Easy Frontend Submit


A simple plugin that displays a form to allow people to enter events for the Events Made Easy plugin on a regular wordpress page (called “Frontend Submit”).

Get The Events Made Easy plugin:


  1. Download the plugin archive and expand it
  2. Upload the events-made-easy-frontend-submit folder to your /wp-content/plugins/ directory
  3. Go to the plugins page and click ‘Activate’ for EME Frontend Submit
  4. Navigate to the Settings section within WordPress and change the settings appropriately.
  5. Ensure the Events Made Easy plugin is installed and configured –
  6. Put the shortcode [emefs_submit_event_form] on a regular page to display the form


How/where do I change the form layout?

The plugin will look for form template and style files in the following paths, in that priority:

  1. WP UPLOAD DIR/events-made-easy-frontend-submit/
  2. ./wp-content/themes/your-current-theme/eme-frontend-submit/
  3. ./wp-content/themes/your-current-theme/events-made-easy-frontend-submit/
  4. ./wp-content/themes/your-current-theme/emefs/
  5. ./wp-content/themes/your-current-theme/events-made-easy/

The overloadable files at this moment are:

  1. form.php which controls the html form. The default version can be found in the templates subdir.
  2. style.css which controls the style loaded automatically by the plugin. The default version can be found in the templates subdir.

To allow for multiple forms to be used, you can add an option to the shortcode to indicate the name of the form template (default: form.php).
Example: [emefs_submit_event_form template=test.php]
If your template is not found in one of the 4 locations mentioned above, the default templates/form.php will be taken

What fields can I use in the form?

As shown in the templates examples, you call EMEFS::field(‘xxx’) with ‘xxx’ being one of:

For all possible fields, look at eme_events.php, function eme_new_event.
If you activated the option to use the captcha, you can also use the field ‘captcha’

How about extra attributes?

Well, in fact it is easier than thought. Just by using
in the form template, the attribute phone2 is available and can be used in an event template via #_ATT{phone2}
By default, the formtype for attributes is textarea, if you want a plain text field, use e.g.:

How about extra event properties?

Many newer event options are stored in properties, see eme_events.php function eme_init_event_props(), for a whole list.
A small enumeration:
auto_approve ()
ignore_pending (
all_day ()
take_attendance (
use_worldpay ()
use_stripe (
use_braintree ()
use_stripe (

You can use these like this: EMEFS::property(‘xxx’);
For the ones marked with (*), use the extra binary option: EMEFS::property(‘xxx’,’binary’);

How about custom event or location fields?

If you have defined custom fields of type Events or Locations in EME, they are part of the event or location definition.
In that case, you can also ask in the frontend for that info, by using EMEFS::custom_field(‘xxx’). ‘xxx’ can be the id or the fieldname.
Example (under the assumption ‘my_price’ is a custom event or location field):
Example (under the assumption ’15’ is a custom event or location field):
Example (under the assumption ’15’ is a custom event or location field):

Any html5 things?

Well yes: EMEFS::attribute and EMEFS::field can have a second argument, indicating the html5-type of your field of choice:
The different types supported: textarea (default), text, tel, url, email and number
Also the event_url regular field entry can have the url-html5 option:

Binary field (YES/NO)

If you want to show a certain field as a drop/down select, use as second option (for type) the value ‘binary’
E.g. EMEFS::property(‘all_day’,’binary’)

Required fields

If you want a certain field to be required (if not by default), use EMEFS::required_field(‘xxx’)
For required attributes, use EMEFS::required_attribute(‘xxx’)
For required properties, use EMEFS::required_property(‘xxx’)


September 3, 2016
With Google Maps, front-end submission, and all of the simple customization, this is the most complete events manager I've tried (I think I tried them all).
September 3, 2016
I am using this plugin in addition to the great Events Made Easy plugin. It's really easy to use and customize. I highly recommend it!
Read all 7 reviews

Contributors & Developers

“Events Made Easy Frontend Submit” is open source software. The following people have contributed to this plugin.


“Events Made Easy Frontend Submit” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Events Made Easy Frontend Submit” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


1.0.56 (2020/09/24)

  • Correct JS error if the map integration is disabled

1.0.55 (2020/09/07)

  • Correct JS for pages that don’t have emefs fields

1.0.54 (2020/09/06)

  • Allow empty end date/time (it will be set to the start date/time then)

1.0.53 (2020/09/06)

  • Check for required date/time fields more intelligently

1.0.52 (2020/07/24)

  • The shortcode is always added to the wp logic, so people can use it in widgets if they want too, or via do_shortcode logic
  • The “guests not allowed page” setting is replaced with “guests not allowed text” that will be shown instead of the form if a guest is not allowed to post new events

1.0.51 (2020/06/13)

  • Use new EME_EVENT_STATUS_* constants

1.0.50 (2020/05/30)

  • Don’t use EME_PLUGIN_URL anymore

1.0.49 (2020/02/29)

  • Added closeButton to datetimepickers
  • Make the timepicker step obey the EME settings

1.0.48 (2020/01/25)

  • Make sure custom field answers are stored too work when saving the event

1.0.47 (2019/12/26)

  • Avoid clashes bewteen EME and EMEFS enqueueing of leaflet styles and scripts

Older changes can be found in changelog.txt