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 (must) also use the field ‘captcha’
If you activated the option to use Google reCAPTCHA, you can (must) also use the field ‘recaptcha’
If you activated the option to use hCaptcha, you can (must) also use the field ‘hcaptcha’

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’)

Filters and actions

Action emefs_submit_event_action: this allows a custom action after event submit (like emailing the info to people).
(see the action eme_insert_event_action in the main EME plugin as an example).
Filter emefs_categories_filter: to filter the categories, see also eme_categories_filter
Filter emefs_event_insert_filter: executed just before insert of the new event in the database (so you can change certain properties by default). See also eme_event_insert_filter


21 de abril de 2021
Very useful plugin to share the work of animation of the site to people who are not very comfortable with WP administration. Congratulations to the developer and his support always at the top.
21 de fevereiro de 2021
I use that app that my user can create events with a form so that all events look the same and following the same schema. It's important to read the manual exactly (when you programm a website you have this time!) and then you can use all the great features from this app.
3 de setembro de 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).
3 de setembro de 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!
Leia todas as 9 avaliações

Colaboradores e desenvolvedores

“Events Made Easy Frontend Submit” é um software com código aberto. As seguintes pessoas contribuíram para este plugin.


“Events Made Easy Frontend Submit” foi traduzido para 3 localizações. Agradecemos aos tradutores por suas contribuições.

Traduzir “Events Made Easy Frontend Submit” para o seu idioma.

Interessado no desenvolvimento?

Navegue pelo código, dê uma olhada no repositório SVN ou assine o registro de desenvolvimento via RSS.

Registro de alterações

1.0.67 (2021/10/27)

  • Support Google reCAPTCHA and hCaptcha too, as the main EME plugin does

1.0.66 (2021/10/22)

  • Don’t disable the plugin if EME is deactivated (to avoid this plugin to get deactivated during EME updates, which seems to happen on some installations)
  • Added filter emefs_event_insert_filter, executed just before insert of the new event in the database

1.0.65 (2021/06/19)

  • Redirect correctly to login page if not authorized. Also explain in the settings that the minimum required capability is “edit posts” for logged in users
  • Add option to define the needed capability when guest submit is not allowed (default: “edit posts”)

1.0.64 (2021/06/18)

  • Fix compatibility with EME >=2.2.2 concerning event start/end date/time

1.0.63 (2021/06/03)

  • Fix compatibility with EME 2.2.0 concerning event start/end date/time

1.0.62 (2021/04/21)

  • Show event validation errors too

1.0.61 (2021/02/02)

  • Correct path to leaflet gesture handling js

1.0.60 (2020/12/28)

  • Actually disable the plugin if EME is not found

1.0.59 (2020/12/15)

  • Added emefs_submit_event_action action, to allow custom action after event submit (like emailing the info to people)
    See the action eme_submit_event_action in the main EME plugin as an example
  • Add an option to redirect to the login page if not logged in and a logged in user is required for event submit

1.0.58 (2020/12/10)

  • Try to avoid enqueuing scripts and styles that are identical and enqueued through EME already

1.0.57 (2020/11/26)

  • Load JS in the footer
  • Don’t override the EMEFS::field second argument (type) in some cases

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