Forum Replies Created
-
AuthorPosts
-
Franky
KeymasterAdding a shortcode also implies calling the shortcode. It all depends on how you call it, using do_shortcode you need to pass the $payment array as a variable.
Franky
KeymasterThere is an event planned today on your calendar, so it is not “eventless-today” but “eventful-today”
Wed 13 May 2020 at 10:42 in reply to: Person fields not displaying when adding a new membership. #61195Franky
KeymasterWell, EME matches the name+email, so if someone enters stuff for you, it will be sent to you too. Of course, you can always require a wordpress user to be logged in before allowing to apply for a EME membership.
Wed 13 May 2020 at 08:57 in reply to: Person fields not displaying when adding a new membership. #61191Franky
KeymasterI confirm this issue. This should fix it:
https://plugins.trac.wordpress.org/changeset/2303945/But also, I’m interested in Buddypress integration. So if we could work together on this, I’m more than willing to (or you can code it up and send the changes). I don’t know Buddypress too well though …
Wed 13 May 2020 at 07:22 in reply to: Person fields not displaying when adding a new membership. #61187Franky
KeymasterI’ll test this out later today but are you sure the wp user is only linked to one eme person?
Franky
KeymasterThis would help before the eme_replace_member_placeholders call:
if (empty($member['start_date']) || ($member['start_date']=='0000-00-00')) { $member['start_date'] = eme_get_next_start_date($membership,$member); $member['end_date'] = eme_get_next_end_date($membership,$member['start_date']); }
It’s not really ideal, but it works …
Franky
KeymasterHmm … well, it is logical: I only calculate the start/end date after payment, not before …
Franky
KeymasterI’m not sure on how/where you add the eme.css from your child theme, because it isn’t there: there’s only 1 eme.css file loaded on https://vogue-et-reve.fr/planning/ .
What I do see is that you (or your theme) seem to be using inline css for the override, but you’re not specific enough You’re just using ‘.eventless-today’ while you should be using ‘table.eme-calendar-table td.eventless-today’Franky
KeymasterIt seems you’re using an optimize plugin, can you try without that first?
Franky
KeymasterCan you provide a demo url?
Franky
KeymasterThe member and membership are looked up using that example. For more, something like this will help:
$format="Membership signup for #_MEMBERSHIPNAME from #_MEMBERSTARTDATE till #_MEMBERENDDATE"; $description = eme_replace_member_placeholders($format,$membership,$member);
(use in $format your known/wanted member and membership placeholders).
Franky
KeymasterSee the filter eme_member_paymentform_description_filter
Franky
KeymasterIf you want that (I’m assuming for something like a course) you could do this:
– create the first occurence as a regular event
– create a recurrence for all the other events in the series and use the RSVP option “Link bookings for the current event to the one selected here” to link all to the first event.Franky
KeymasterFor events there are many different type of reminder mails, but you can plan all those in the “send mails” section (type “event mail”).
Franky
KeymasterYou can use [eme_attendees] inside your single event format (see https://www.e-dynamics.be/wordpress/category/documentation/6-shortcodes/eme_attendees/ ), but currently the csv list is a little limited (it’s a very complicated structure, working with dynamic fields)
Franky
KeymasterConcerning 1: use random_order=true (I updated the doc)
Concerning 2: use scope=futureFranky
KeymasterWell, this seems to be more an error on my end (I forgot the “T”). But at the same time I found that php already supports this better than me, so this should work:
https://plugins.trac.wordpress.org/changeset/2293319/Franky
KeymasterI wouldn’t go for the filter, but go in the EME settings, tab RSS, and change “ICAL description format” to include something like this:
[eme_if tag="#ESC_ATT{TeamsURL}"]my url: #_ATT{TeamsURL}[/eme_if]Franky
KeymasterWell, if no mail arrives for a password reminder, you’ll have to check your WP *and* PHP mail settings, and your mailserver logfiles …
Franky
KeymasterYou can use the EME conditional tags to test if the value exists for an event (or test for anything of choice), and only then include it. You can use conditional tags in “ICAL description format” too (or should be able to, if not it is my bad 🙂 )
For conditional tags and examples, see: https://www.e-dynamics.be/wordpress/category/documentation/7-placeholders/7-1-conditional-tags/Franky
KeymasterWell, if you want that for all events, you can change the generic EME option called “ICAL description format”. Next to that: EME supports “virtual-only” (or online-only) meetings, for that just add a location to the event and enter for the location at the bottom the external url. Then the location-url for the event will directly point to there.
Franky
KeymasterPlease see https://www.e-dynamics.be/wordpress/category/documentation/12-hooks-and-filters/ , filter eme_ical_filter will help you.
Franky
KeymasterYes, I’m sure. See the function eme_create_wp_user in eme_functions.php (where I also call wp_send_new_user_notifications) and I also tested it.
Franky
KeymasterThe user receives an email with a random generated password, like as if he signed up in wordpress himself with the random password proposed.
Franky
KeymasterYour eme_if statements cause only the first event to be shown. Remove those to show all.
Franky
KeymasterHow do you create the ical link? Inside an event, you can use shortcodes too, so [eme_ical_link] with all its options can be used there (amongst those options being the category as an argument).
Btw: for a course with multiple events, you can link the RSVP part to the first event too.
Sun 19 Apr 2020 at 09:38 in reply to: “Ameta property=”og:type” when using extra headers filter #61125Franky
KeymasterIndeed, I saw yesterday that some replies were blocked. I’m going to try and stop akismet from blocking posts/replies.
Sat 18 Apr 2020 at 20:03 in reply to: “Ameta property=”og:type” when using extra headers filter #61113Franky
KeymasterThe headers argument is not an array but a string. Maybe you want the eme_extra_event_headers_json_filter filter?
Franky
KeymasterGoogle is starting to get on my nerves … when I tested this, I got no such feedback.
Anyway, try this change:
https://plugins.trac.wordpress.org/changeset/2285904/Franky
KeymasterThis is totally not related to EME, but this might help:
https://directemailsoftware.com/tutorials/how-to-re-send-confirmation-email-to-your-wordpress-subscribers/Tue 14 Apr 2020 at 19:59 in reply to: Booking not visible by #_IS_REGISTERED when added by admin #61101Franky
KeymasterThis should fix that problem:
https://plugins.trac.wordpress.org/changeset/2283411/And otherwise: try out the dev version 🙂
Franky
KeymasterThere’s a fix in Dev for events using discount groups, maybe that’s your problem too?
Concerning the post not appearing: probably akismet marked it as spam, I’ll check and approve thoseFranky
KeymasterConfirmed, this should fix it:
https://plugins.trac.wordpress.org/changeset/2279581/events-made-easy/trunkWed 8 Apr 2020 at 15:37 in reply to: group_id ignored in eme_people if template_id given and group empty #61090Franky
KeymasterWell, I check if group_id contains something or not. In your case it was an empty string, so that’s why everyone was being shown.
Franky
KeymasterThat’s a bit weird. Can you copy/paste that line? Also: which version of eme are you using?
Edit: I found the underlying reason and it will be fixed in the next release. See this change:
https://plugins.trac.wordpress.org/changeset/2279300/Franky
KeymasterHmmm … Just saw that my example code wasn’t showing up, corrected now.
Franky
KeymasterA list, a table – or anything else that represents a number of times data in html code – exists of a html header, a html footer and html content (content that gets repeated multiple times). Taking a table as an example, the header would be e.g.
<table>
, the footer would be</table>
and the content would be 1 single row definition<tr><td>column 1 data</td><td>column 2 data</td></tr>
. The header could of course contain the column headers too (like<tr><th>column 1 header</th><th>column 2 header</th></tr>
).
Using those 3 pieces, the table then gets build by first using the header definition, then multiple times the row definition and then the footer definition.Franky
KeymasterBtw: check the changelog on the eme_extra_event_headers_filter …
Franky
KeymasterDo you have a demo booking I can try (running the latest version)?
Edit: local testing reveals no problems with bookings, so maybe it is related to your defined filter.Franky
KeymasterFirst thing: you shouldn’t show notices in your frontend, that allows other people to gain knowledge about your setup.
Second: 1 undefined variable is when you use template includes, the other one when you use the filter eme_extra_event_headers_filter . Both are fixed with this change:
https://plugins.trac.wordpress.org/changeset/2275894/Fri 3 Apr 2020 at 23:35 in reply to: group_id ignored in eme_people if template_id given and group empty #61067Franky
KeymasterIf I take a group with 0 members, I get nothing rendered as expected.
Franky
KeymasterYoast is a PITA … whatever you find on the net is no longer valid some time after. In the past this worked (and I still have that in EME):
global $wpseo_front; if (isset($wpseo_front)) remove_action( 'wp_head', array($wpseo_front, 'head'), 2 );
but apparently that no longer works. I took a look at https://yoast.com/wordpress/plugins/seo/api/ and updated the FAQ accordingly. Maybe worth a test, but if not working you might want to check with the yoast guys …
Mon 30 Mar 2020 at 23:26 in reply to: remove second schema.org (script type=”application/ld+json”) #61061Franky
KeymasterEME has a filter that allows to remove these generated headers. The next version will rename this filter to eme_extra_event_headers_json_filter, and then you can just return an empty result there if wanted.
Franky
KeymasterThis post got in my forum marked as “to approve”, so I missed it.
But this got fixed some versions ago, thanks for posting it anyway!Franky
KeymasterThis post got in my forum marked as “to approve”, so I missed it.
Concerning this: please read https://www.e-dynamics.be/wordpress/category/documentation/3-installation-and-usage/Franky
KeymasterThis is now implemented (already released).
Franky
KeymasterIt is a small bug: #_REMOVEBOOKINGFORM_IF_REGISTERED works, but the CANCEL variant wasn’t. This oneliner fixes it:
https://plugins.trac.wordpress.org/changeset/2270987/Franky
KeymasterI don’t understand your question, embed seems to work just fine in my templates.
Mon 30 Mar 2020 at 19:48 in reply to: Required field: 1) string in RSVP is not translated, 2) RSVP setting missing? #61041Franky
KeymasterSee the Settings, tab “other”.
Franky
KeymasterJust download the dev version at the bottom of this page:
https://wordpress.org/plugins/events-made-easy/advanced/After that, when selecting the action “delete booking” (or marking unpaid/moving onto the waiting list) an extra option will appear to refund if possible. Currently no feedback is given if the refund would fail, but that shouldn’t stop you from testing 🙂
Btw: for testing, feel free to contact me (in Dutch if you want) on:
franky [at] e-dynamics.beFranky
KeymasterThe library is called omnipay, but it is also a pretty big thing (also 5MB and per gateway another 500kb). Also not all payment gateways used by EME are implemented in the v3 version of that lib, so I’m not sure that’s the best way either …
Franky
KeymasterIf you want to test it out, that would be nice. It’s difficult for me to test out refunds …
Franky
KeymasterThe next version will have a refund option (only for mollie right now, others might follow)
Franky
KeymasterI just looked at the Mollie APi, and adding a refund wouldn’t be that hard to do …
Franky
KeymasterI’ve validated their API and while it seems easy enough to incorporate, it is 5MB extra which is *a lot*. I’m currently validating a new php library that might maybe help for all payment gateways …
Franky
KeymasterFor the category: $category=eme_get_category($category_id);
For the custom fields: $answers=eme_get_event_cf_answers($event[‘event_id’]);Franky
KeymasterRefunds are not handled via EME (yet).
Franky
KeymasterWell, I reviewed the filter part and changed some stuff for the next version too:
* Existing filter eme_extra_event_headers_filter renamed to eme_extra_event_headers_json_filter, to indicate it is really only used for the json-part of the extra headers for an event
* New filter eme_extra_event_headers_filter that can filter on other extra event headers being added (meta tags)Franky
KeymasterI won’t implement eventStatus, since there are too much conditions to apply if you e.g. postpone an event (see https://developers.google.com/search/docs/data-types/event#eventstatus ). And it is an optional field.
The field that has been implemented is eventAttendanceMode (location can now be a pure online location).
The performer field is also an optional field, and in many cases it doesn’t apply. E.g. we organize matches between schools, but nobody is a “performer” or “performer group” … I could put in the organizer there if that helps, but for the rest I would be asking for info that is only used in Google search results, and that is something I want to avoid.What I will do is add a filter to the json output, so you can add extra data to it (based on custom event fields for example).Edit: the filter eme_extra_event_headers_filter already does this …Franky
KeymasterConfirmed. This should fix it:
https://plugins.trac.wordpress.org/changeset/2265143/And also:
https://plugins.trac.wordpress.org/changeset/2265144/(3 bugs fixed in total 🙂 )
Franky
KeymasterAll EME data is stored in seperate database tables so to import all that from another installation:
– install the old EME on your new setup (just copy over the plugin directory) and activate it (to set up some entries in the WP tables concerning the plugin), then deactivate it again (maybe this activate/deactivate is not needed, but it can’t hurt)
– drop all EME tables on your new setup and import the ones from your old setup (by default these are the DB tables starting with wp_eme_)
– if you had attachments managed by EME, also copy over the directory wp-uploads/events-made-easy
– activate EME again, all should be there
– now update EME to the latest versioinFranky
KeymasterEME is there for events and for memberships for people that are not part of your WP setup too. I have several clubs I maintain, and those people are certainly not interested in having a WP account, they just want to pay their yearly membership.
Also, for your other question: it is the combo of the 3 parameters that needs to be identical (I understand that people can have the same name and different emails 🙂 ).Franky
KeymasterBtw, the next version will be much more strict concerning WP user linking:
Linking an EME person with a WP user will not be allowed if there’s another EME person matching the WP user’s firstname/lastname/email.
Linking an EME person with a WP user will change the person firstname/lastname/email to the WP user’s firstname/lastname/email and those fields can then only be changed via the WP profile of that person.Franky
Keymasteryes, I forgot to update the message too …
Franky
KeymasterConfirmed, can you check if this fixes it:
https://plugins.trac.wordpress.org/changeset/2255066/Wed 4 Mar 2020 at 17:48 in reply to: Added numerous new ‘dutch’ translation-lines in nl_NL .po/.mo-files #60982Franky
KeymasterHi Wietze,
EME lo longer distributes po-files, but if you make translations be sure to base yourself on the translation from WP: https://translate.wordpress.org/projects/wp-plugins/events-made-easy/ ==> There you can choose Dutch and then “Development (trunk)”. Then at the bottom you can click on Export to download the latest po-version.Franky
KeymasterMust be, because EME only calls wordpress functions for the user creation, see the function eme_create_wp_user in eme_functions.php
Franky
KeymasterThe next version will be different:
– checkboxes for the memberships
– template selection only for the access denied message (so if you had custom text there, it will be gone)
– a new section in EME options (members) that allows you to set the access denied message by defaultFranky
KeymasterThe next version will allow generic placeholders in the access-denied message.
I’ll check later on concerning if it works for multiple events (or even works at all, but I did test that) and maybe switch the denied-message textbox to wysiwygFranky
KeymasterCtrl-click on the one you selected. Then that should go away too.
I need to check if I replace placeholders there already, but generic ones would of course be nice to work.
And I initially made it a small text field, but it is only the first version 🙂
But the functionality should work, is that not the case then? Did you try with only one membership selected?Franky
KeymasterBtw, if this continues to happen in your setup, let me know so I can try to reproduce it then. I’ll go over the code too …
Franky
KeymasterIn the past the code was less robust when it came to EME person <=> WP user linking, so maybe those errors were in there for a while already?
In EME persons, you can delete the persons you don’t want to keep and in one go move their bookings to another person, so it is easy to rectify though.Franky
KeymasterI only allow 1 link between an EME person and a WP user. If the user is allowed to clear the form (where his details are filled in if he’s logged in) and actually clears it, then that means other info is being entered (and not the one from the WP user), so it is not linked to that person anymore.
However, the info on which WP user did the booking should still be filled in.Franky
KeymasterIf you think some translations in Dutch can be better, you can always give that to me so I can update those.
Franky
KeymasterThere’s a generic EME option (EME settings, tab “mail”) where you can add a BCC email address to all emails generated by EME. Maybe that helps?
Franky
KeymasterIt will be a setting per page, and no drip content yet (although that’s not difficult to add). Most plugins ask money for something like that, but I’m trying to keep the plugin free so we’ll see how this goes (I do need to pay for the site, domain name and such …)
Franky
KeymasterI forgot to document the scope option for the function eme_wordpress_search_events, I now added it to the FAQ. In your case:
$events = eme_wordpress_search_events("all");
Franky
KeymasterIt’s added on the FAQ and the readme.
Franky
Keymaster@michel-ter-stege : the next version will already have the option the limit page content to members of one or more memberships. I’ll add an option to set a custom message too, in case access is denied.
Sat 22 Feb 2020 at 10:29 in reply to: Have a user update their address info / show member related things for a user? #60920Franky
KeymasterIt just prints the name of the active memberships (comma separated).
How are you using this (inside another shortcode, on a page standalone, …)? So I can test that here.Fri 21 Feb 2020 at 22:13 in reply to: Have a user update their address info / show member related things for a user? #60917Franky
KeymasterIt only returns true if the member is active, not pending
Franky
KeymasterThe IS_PENDING thing is because of a wrong default check, this fixes it:
https://plugins.trac.wordpress.org/changeset/2248464/The _EXPIRED_MEMBERSHIP_PAYMENT_URL indeed only return an url for expired members, not for anybody else.
Franky
KeymasterThat’s probably because you use those inside your eme_if content. And indeed, that content wasn’t being parsed for placeholders. This oneliner fixes it:
https://plugins.trac.wordpress.org/changeset/2248272/Fri 21 Feb 2020 at 16:53 in reply to: Have a user update their address info / show member related things for a user? #60912Franky
KeymasterHere that seems to work fine: [eme_mymemberships]
Franky
KeymasterThis oneliner should fix it:
https://plugins.trac.wordpress.org/changeset/2248188/Franky
KeymasterWell, #_IS_USER_MEMBER_OF should only be true for active members … let me check this
Fri 21 Feb 2020 at 14:36 in reply to: Have a user update their address info / show member related things for a user? #60907Franky
KeymasterThe latest version has just been released, check out if the new shortcode eme_mymemberships does what it should 🙂
Thu 20 Feb 2020 at 22:44 in reply to: Automatically apply discount based on membership status #60904Franky
KeymasterCorrection: indeed the membership can be checked (I already forgot I implemented that) for event discounts, but there was a bug in it (the bug you reported). So: it will be fixed in the next version (with your bugfix).
Thu 20 Feb 2020 at 22:40 in reply to: Error in SQL Query in eme_get_active_membershipids_by_wpid in eme_members.php #60902Franky
KeymasterThank you for this bug report!
It will be fixed in the next version.Thu 20 Feb 2020 at 15:59 in reply to: Automatically apply discount based on membership status #60899Franky
KeymasterFor the moment discounts are not yet related to memberships directly … feel free to make a feature request (and maybe think about a donation to keep my coffee flowing).
Franky
KeymasterWell, EME is currently designed to do real club-memberships, no actual page content protection just yet … it can be worked around by the [eme_if] tag, but I never went further down that road just yet.
Concerning the change: https://plugins.trac.wordpress.org/changeset/2246348/events-made-easy/trunk (it is bigger than normal, because I added an extra functionality to the membership too, so you can allow/disallow membership extensions).Franky
KeymasterBtw, if you want to use it inside the rsvp form, try #ESC_PASSWORD for the tag (see the eme_if docu).
Franky
KeymasterYou’re using this inside your rsvp form, where #_PASSWORD does other things (like showing the field to fill in). Use it outside the form, inside the single event template.
For the password in the admin area: I always thought that was the better thing to do for a password field 🙂Franky
KeymasterI just tried it here, and in the “single event template” this works fine:
[eme_if tag='#_PASSWORD'] <tr> <td>You need a password:</td> <td>#_PASSWORD</td> </tr> [/eme_if]
It shows I need a password and the password itself
Franky
KeymasterWell, after checking the code: #_PASSWORD is an event placeholder too (apparently I forgot to document it), so in theory it should work …
I also added a more logical placeholder called #_IS_RSVP_PASSWORD_ENABLEDWed 19 Feb 2020 at 14:56 in reply to: Have a user update their address info / show member related things for a user? #60887Franky
KeymasterFor RSVP: if you require that info, make the field a required field. EME doesn’t foresee for people to edit that info (it is not in wordpress, I only made the EME phone number an extra wordpress field in their profile). Also in the profile is a list of future bookings, but not memberships (the next version will show the active memberships there too).
For bookings, see also [eme_mybookings], but again not for memberships :-).Feel free to open a feature request for this.The next version will have a new shortcode eme_mymemberships for this.
Next to that, there’s also the option for them to request all info EME has on them by using the eme_gdpr shortcode, see https://www.e-dynamics.be/wordpress/eme_gdpr/ (or use the wordpress privacy tools).Franky
Keymaster#_PASSWORD is not an event placeholder (see https://www.e-dynamics.be/wordpress/category/documentation/7-placeholders/7-2-events/ ), but only for RSVP forms.
So currently there’s no conditional tag yet for this, but it could be added 🙂Franky
KeymasterThe payment url only works in a eme context, since they require exact knowledge on the member. I think I can make these global too though …I just checked the code and the payment url is global already, but only for non-expired members and it contains an error (non-existing function call). I’ll fix that.
Concerning the logic: you can use nested eme tags, see the doc.Franky
KeymasterYour closing tag for the first 2 eme_if statements should be [/eme_if], not [eme_if]
Mon 17 Feb 2020 at 07:52 in reply to: How do I change my slugs to include the date (aka /events/2020/02/17/event-name) #60873Franky
KeymasterSorry, but that is not possible for now.
Franky
KeymasterSeems ok to me, make sure no caching plugin is active though.
And if you want me to test it (tomorrow, too late now): liedekef@telenet.beFranky
KeymasterI call register_new_user, which acts as if the user registered from the frontend (and that calls wp_create_user, which again calls wp_insert_user). If you know a little php, I’d say to debug stuff in the function eme_create_wp_user: do a print_r on the generated username and see if it is ok, then do a print_r on the $user_id after the call to register_new_user and see if that’s ok. I’m guessing something goes wrong there and $user_id probably contains an error code, the print_r will show it then (and maybe do an exit after the print_r, to make sure nothing continues).
The next version will get that error code earlier on in the function and not try to update a wp user if so: https://plugins.trac.wordpress.org/changeset/2245292/Franky
KeymasterOk, it seems to be related to the function eme_create_wp_user (in eme_functions.php). The code there is:
$username=eme_generate_unique_wp_username($person['lastname'],$person['firstname']); // use register_new_user so the person gets a mail $user_id = register_new_user( $username, $person['email'] ) ; $userdata = array( 'ID' => $user_id, 'last_name' => $person['lastname'], 'first_name' => $person['firstname'] ); wp_update_user($userdata);
As you can see, wp_update_user is where the lastname and firstname change, and that for the userid created with register_new_user. The odd thing is that for you, that userid seems to be your admin userid every time. The weird thing is that I first create a new username based on lastname/firstname that shouldn’t exist in the db yet, and then call register_new_user with that username and the given email. Maybe there something is wrong …
Franky
KeymasterOMG … saying this made me realize something … I create the wp user, but never associate the member with the created user. I had the same issue in the past with RSVP and there I corrected it, but I forgot to correct it here. Give me 5 minutes to come up with a patch.
Edit: wrong hunch, it was unrelated to that 🙂Franky
KeymasterEME tries to be smart about the user … is there a new EME person created upon booking? If not, feel free to forward the page to me, I’ll test too. And if you want, some admin account to check would then be nice too
Franky
KeymasterIn your video at 2:38 you see the user with name “Test test” and when you refresh you see the name changes. This means wordpress used that account, so I’m guessing you’re not really signed out … or something really weird is going on with the function eme_create_wp_user (in eme_functions.php). So maybe try starting debugging that function (but I don’t really see anything wrong there …)
Franky
KeymasterJust tested it here: works fine … you need to make sure you’re not logged in as well at that time.
Sat 15 Feb 2020 at 22:39 in reply to: Any change to a drop down or check box causes dynamic field to refresh #60856Franky
KeymasterThe next version will have the same option for memberships as for events: by default the dynamic data will only get refreshed when a field specified in the conditions changes, but an option has been added to do it on all fields.
Sat 15 Feb 2020 at 22:07 in reply to: Any change to a drop down or check box causes dynamic field to refresh #60855Franky
KeymasterHummm … that should be the intended behavior (only when the field specified in the condition changes, the dynamic data should get refreshed). Let me check the javascript code for that …
Franky
KeymasterWell, it seems ok but it will (in your code example) only work for event with id 5 (so don’t forget that).
Also, to avoid issues if you can chose “more than one” of one Accomodation, I’d do this:if(intval($_POST['bookings'][$event_id]['bookedSeats3']>0) && intval($_POST['bookings'][$event_id]['bookedSeats4']>0) ) { $check_option_ok=1; }
Or, to simplify some more (since a regular return is also accepted as ok):
add_filter('eme_eval_booking_form_post_filter','check_accommodation_option'); function check_accommodation_option($event) { $event_id=$event['event_id']; // only do a specific event if ($event_id != 5) return; // only allow one booking of type Acommodation if(intval($_POST['bookings'][$event_id]['bookedSeats3']>0) && intval($_POST['bookings'][$event_id]['bookedSeats4']>0) ){ return array(0=>0,1=>'Please check only one Accommodation option'); } }
Franky
Keymastereme-required-field is a CSS class for you to change (by default it is unused, but I left the class handle so people can tweak it). The fact that nothing is “inside” that eme-required-div is because you left the setting ‘Required field text’ to empty in EME, but you can still use the div-css style handle to show something if wanted.
The fact that your “to the Code of Conduct” comes on another line is CSS, see https://www.computerhope.com/issues/ch001709.htm . In your case, I’d target the parent div of FIELD22_0 and set it to inline, idem for the eme-required-field, and then also your code inside an inline-div.
But in fact this is all CSS and I’m not the expert here, so good luck trying this out 🙂Franky
KeymasterFirst, you need to use eme_eval_booking_form_post_filter, not eme_eval_multibooking_form_post_filter (eme_eval_multibooking_form_post_filter is for multi-booking forms, see https://www.e-dynamics.be/wordpress/category/documentation/6-shortcodes/eme_add_multibooking_form/ , but that’s not related to multiprice). In the eme_eval_booking_form_post_filter example, replace also “if ($event_id != 5) return;” with your event id, or remove the line to apply it to all events.
The seats are normally in $_POST[‘bookings’][$event_id][‘bookedSeats’] (replace $event_id by your event id), or for multi-price: $_POST[‘bookings’][$event_id][‘bookedSeats1’], $_POST[‘bookings’][$event_id][‘bookedSeats2’], etc …
Franky
KeymasterFor the price description: you can also use event placeholders, so see https://www.e-dynamics.be/wordpress/event-formatting/ (search for #_PRICEDESCRIPTION)
Concerning your question about logic (1 or the other): that you need to create yourself using the EME filter eme_eval_booking_form_post_filter (see the doc https://www.e-dynamics.be/wordpress/hooks-and-filters/ ) and use the content of $_POST to evaluate what you want.Fri 14 Feb 2020 at 15:17 in reply to: how to present a bookinglist on order by booking-id or booking date? #60837Franky
KeymasterCurrently there is no order option for eme_bookings yet …
Franky
KeymasterSorry, the seats to book as a max should go in “Seats” (which is in fact the available seats per price category for your event), I was wrong there. So put in your “Seats” setting “19||19||13||6”
The “max seats to book” indicates the max seats someone can book in one go, idem for the “min seats to book”. If you put “1” there, it will check if at leats one seat is taken from the total. If you want the minumum for the Workshop to be 1, I guess you can use this: “1||0||0||0”. The “max seats to book” can be left at 0 (unless you want to limit the max seats someone can book in 1 go for the “Workshop” or another price category).
Franky
KeymasterSet the number of max seats to book per price category too, eg:
200||100||90||3
Use 0 for no limit if wanted.
Franky
KeymasterIt is not directly possible no. That would require going through all previous bookings, getting the answers and taking the field of interest. Using EME hooks it can be achieved, but it requires coding. A starting point can be found at https://www.e-dynamics.be/wordpress/category/documentation/12-hooks-and-filters/ , the filter eme_eval_booking_form_filter is the filter to be used (but needs extra coding then).
Edit: maybe in your case, it would be better to work with a multi-price setup then, where you limit the number of “seats” for the second price to 3.
Franky
KeymasterNice to hear!
Tue 11 Feb 2020 at 08:26 in reply to: eme_attendees id=x just showing a listing of lastname + (seats) #60824Franky
KeymasterIt’s not only for emails, I rectified that. But the doc concerning the eme_attendees placeholder (https://www.e-dynamics.be/wordpress/category/documentation/6-shortcodes/eme_attendees/) already referred to that too.
Mon 10 Feb 2020 at 23:24 in reply to: eme_attendees id=x just showing a listing of lastname + (seats) #60820Franky
Keymasterwell, you said it: #_LASTNAME, #_FIRSTNAME, #_PERSONCITY (you could use #_CITY, but that is also a placeholder for the event location, so it would interfere, see https://www.e-dynamics.be/wordpress/people-placeholders/ )
Franky
KeymasterEven then it should be something to debug … maybe try activating the queue and see if that helps?
Mon 10 Feb 2020 at 22:22 in reply to: eme_attendees id=x just showing a listing of lastname + (seats) #60816Franky
Keymaster#_LASTNAME and #_FIRSTNAME etc … should all work. What exactly is not working?
Franky
KeymasterIndeed a bug. This should fix it:
https://plugins.trac.wordpress.org/changeset/2241865/events-made-easy/trunk/eme_people.phpFranky
KeymasterWell, EME memberships are meant for actual clubs, not really for WP memberships. You can use eme_if and #_IS_USER_HAS_ROLE, but that’s only something handy. The best is to use eme_if and check if the user is actually a member before showing a page.
Franky
KeymasterEME memberships can be configured to add members to an EME group. Each member is also a “person” in EME, and that person can be linked to a WP user (either automatically if the user is logged in and you require a user to be logged in or by linking them manually). EME has no login form, that’s for wordpress to handle 🙂
The placeholder #_IS_USER_HAS_ROLE can be checked if a logged in user has a certain role (see https://www.e-dynamics.be/wordpress/category/documentation/7-placeholders/7-1-conditional-tags/) inside the eme_if shortcode.
The placeholder #_IS_USER_MEMBER_OF is only for active members (meaning they also paid).
Franky
KeymasterDid you check the setting if the queuing is activated? And if so: configured in the “scheduled actions”?
Franky
KeymasterPayPal PLUS is only available in Germany and Latin American markets. It seems (according to https://www.paypal.com/us/smarthelp/article/what-is-paypal-plus-and-where-can-i-find-support-for-it-faq3695), that it is in fact a solution hosted by paypal. For the rest I didn’t find much info about it, so currently I’m not inclined to support it 🙂
Franky
KeymasterCurrently not. I’ll try this or next week (it takes preparations). Also, there is the placeholder doc on that: https://www.e-dynamics.be/wordpress/category/documentation/7-placeholders/7-13-membershipform/
I know it is not much, but I try to make it self-explanatory when creating a membership … lots of stuff is explained on the membership creation page too.Franky
KeymasterThat requires a lot of extra coding. Currently it is low on my priority list, unless someone donates so I can spend the needed time on it …
Franky
KeymasterWell, the text was not correct 🙂 The latest update fixes that warning and sets it on the “Booking approved” mail to “When an event is configured to auto-approve bookings after payment and you have selected to send out payment mails and the total amount to pay is not 0, this mail is not sent but the mail concerning a booking being paid is sent when a pending booking is marked as paid.”
Franky
Keymaster1) The Booking Made is sent to the booker, the “Contact Person Booking Made” is sent to the contact person when the booking is made. The Booking Paid Email is sent when a payment is done (see the generic EME settings, tab “Mail templates”.
Doing it via PDF will require you to somehow first create a PDF invoice and attach that, that is somewhat more complicated as it requires to use a EME hook to create a custom PDF (and you need to code the PDF creation) and then add it to the mail before it is sent (which I’m not even sure I provide a hook for).
2) In EME you can specify extra charges to be taken into account per payment gateway, but by default this is 0.
3) Sorry, but no. Reason: that would require a PCI-compliant webserver setup and most people don’t have that.Franky
Keymaster5) that’s currently not possible
4) I mean the first value of a dropdown is being taken as he value “set”
3) The field definition is in the Fields submenu, where you defined your field. Also, for dynamic data, read about it at the bottom part of https://www.e-dynamics.be/wordpress/category/documentation/7-placeholders/7-6-registration-form-fields/
And maybe check the tuturial in general: https://youtu.be/TCXQbgsrSZA (42 minutes 🙂 )Franky
KeymasterCoorect, this should fix that:
https://plugins.trac.wordpress.org/changeset/2236903/Franky
KeymasterNice find! The code change was needed (certainly for #_DYNAMICPRICE and the amount shown in the thank-you message and such), but the type-change of course was also needed. I now changed it to be the same as for bookings (tinytext in fact, so you can use +/- floating point too).
Franky
KeymasterIndeed, the $readonly_basic param was a leftover from older code, for the address I removed that logic for RSVP forms but I forgot to remove it for membership forms. So it can be simply removed:
https://plugins.trac.wordpress.org/changeset/2236489/Franky
KeymasterOk, I think you forgot to mention discounts (that currently won’t work with memberships, it hasn’t been implemented yet, reason being I never got around to figuring out if the discount can be re-applied or not upon extension).
For your page: can you give an example? What OS/php are you running on? I’ll try to replicate example (not OS) then too (or give me a temp admin account on your server).Franky
KeymasterOk, then for now I can say that it should work with cahing plugins (I did my utmost best to make sure), but I can’t speak for other editors/plugins of course. The compatibility page is there in case of any issue with caching plugins.
Franky
KeymasterWhich advise did you follow? I normally advise to disable the cache for all eme-related files (so everything in events-made-easy/js/*), personally I see more profit to be found in a cache engine outside wordpress (even basic apache can already cache a lot for you).
But I’m curious about your problems: it would be weird that the merge/minimize of CSS files would pose any kind of problems. As for the javascript files: I tested some out in the past and never had any issues, but those were probably basic tests compared to your setup.Franky
Keymaster3) I can’t see your link, but take a look at #_DYNAMICPRICE , if you want to show the price of a dropdown choice, you should add it to the tag for that option in the field definition.
4) If you want the first price to be 1, set that option the first, there’s currently no other method currently
5) You can have checkboxes too with extra charge … just set it in the field definitionFranky
KeymasterOk, currently fields with extra charge are not taken into account, this has now been fixed in production, see https://plugins.trac.wordpress.org/changeset/2236005/
or download and replace eme_members.php: https://plugins.trac.wordpress.org/browser/events-made-easy/trunk/eme_members.php?rev=2236005&format=txtBtw: the extra charge is taken into account on each extension as well.
Franky
KeymasterIs this when a user is logged into wordpress and then applies for a membership? Normally the address is just a field to be filled out …
Franky
KeymasterCurrently that’s not possible. I’ll take a look at that later on, but for now the limit is 1.
Franky
KeymasterThat’s of course not the way it should be. I’ll move this to bugs, so I don’t forget to test this later on. Also: when adding extra fields to the form, these are taken into account for the first membership fee, but not for additional membership extensions. But let’s start with the bug 🙂
Franky
Keymaster1) That’s the intented way of using it 🙂 When creating the event, select in the RSVP section “require approval”, then bookings are pending. Also check “auto-approve after payment”, then it does what you want 🙂
2) That ‘s still something in the pipeline …Franky
KeymasterSorry, I forgot to add the header line. Changed now (reload the page).
Franky
KeymasterBtw: it seems they changed the state codes for the US to something more than 2 characters (and even my example has a string of 3 characters for Washington), so this change needs to be applied (just remove 3 lines in eme_countries.php):
https://plugins.trac.wordpress.org/changeset/2235663/Franky
KeymasterFor the countries: go to https://en.wikipedia.org/wiki/ISO_3166-1, select the table and copy/paste it as “unformatted text” in LibreOffice. Then remove the trailing spaces and you can save it in CSV format (check the option “quote all cells”). I’ll do it now as a courtesy and put the file on the page you listed.
Franky
KeymasterI’m sorry, appartently I used a wrong link for the instruction video. This has been corrected.
Concerning your question: multiprice is not what is needed in your case, it is to be used when you have different seat categories that have different prices. If you just want extra choices (like “I want this menu” or “I want the extra t-shirt”), then you can just create custom fields, use the option “Extra charge” when creating the field and then use that field in your RSVP form template/definition (by using #_FIELD{xx} in it, with “xx” being either the custom field id or name).Franky
KeymasterCurrently not possible. The next version will have a new shortcode eme_person for this. See
https://plugins.trac.wordpress.org/changeset/2233194/Franky
KeymasterThis should fix it:
https://plugins.trac.wordpress.org/changeset/2233158/ -
AuthorPosts