Forum Replies Created
-
AuthorPosts
-
FrankyKeymaster
Adding 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.
FrankyKeymasterThere 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. #61195FrankyKeymasterWell, 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. #61191FrankyKeymasterI 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. #61187FrankyKeymasterI’ll test this out later today but are you sure the wp user is only linked to one eme person?
FrankyKeymasterThis 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 …
FrankyKeymasterHmm … well, it is logical: I only calculate the start/end date after payment, not before …
FrankyKeymasterI’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’FrankyKeymasterIt seems you’re using an optimize plugin, can you try without that first?
FrankyKeymasterCan you provide a demo url?
FrankyKeymasterThe 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).
FrankyKeymasterSee the filter eme_member_paymentform_description_filter
FrankyKeymasterIf 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.FrankyKeymasterFor events there are many different type of reminder mails, but you can plan all those in the “send mails” section (type “event mail”).
FrankyKeymasterYou 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)
FrankyKeymasterConcerning 1: use random_order=true (I updated the doc)
Concerning 2: use scope=futureFrankyKeymasterWell, 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/FrankyKeymasterI 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]FrankyKeymasterWell, if no mail arrives for a password reminder, you’ll have to check your WP *and* PHP mail settings, and your mailserver logfiles …
FrankyKeymasterYou 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/FrankyKeymasterWell, 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.
FrankyKeymasterPlease see https://www.e-dynamics.be/wordpress/category/documentation/12-hooks-and-filters/ , filter eme_ical_filter will help you.
FrankyKeymasterYes, 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.
FrankyKeymasterThe user receives an email with a random generated password, like as if he signed up in wordpress himself with the random password proposed.
FrankyKeymasterYour eme_if statements cause only the first event to be shown. Remove those to show all.
FrankyKeymasterHow 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 #61125FrankyKeymasterIndeed, 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 #61113FrankyKeymasterThe headers argument is not an array but a string. Maybe you want the eme_extra_event_headers_json_filter filter?
FrankyKeymasterGoogle 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/FrankyKeymasterThis 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 #61101FrankyKeymasterThis should fix that problem:
https://plugins.trac.wordpress.org/changeset/2283411/And otherwise: try out the dev version 🙂
FrankyKeymasterThere’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 thoseFrankyKeymasterConfirmed, 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 #61090FrankyKeymasterWell, 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.
FrankyKeymasterThat’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/FrankyKeymasterHmmm … Just saw that my example code wasn’t showing up, corrected now.
FrankyKeymasterA 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.FrankyKeymasterBtw: check the changelog on the eme_extra_event_headers_filter …
FrankyKeymasterDo 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.FrankyKeymasterFirst 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 #61067FrankyKeymasterIf I take a group with 0 members, I get nothing rendered as expected.
FrankyKeymasterYoast 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”) #61061FrankyKeymasterEME 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.
FrankyKeymasterThis 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!FrankyKeymasterThis 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/FrankyKeymasterThis is now implemented (already released).
FrankyKeymasterIt 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/FrankyKeymasterI 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? #61041FrankyKeymasterSee the Settings, tab “other”.
FrankyKeymasterJust 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.beFrankyKeymasterThe 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 …
FrankyKeymasterIf you want to test it out, that would be nice. It’s difficult for me to test out refunds …
FrankyKeymasterThe next version will have a refund option (only for mollie right now, others might follow)
FrankyKeymasterI just looked at the Mollie APi, and adding a refund wouldn’t be that hard to do …
FrankyKeymasterI’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 …
FrankyKeymasterFor the category: $category=eme_get_category($category_id);
For the custom fields: $answers=eme_get_event_cf_answers($event[‘event_id’]);FrankyKeymasterRefunds are not handled via EME (yet).
FrankyKeymasterWell, 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)FrankyKeymasterI 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 …FrankyKeymasterConfirmed. 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 🙂 )
FrankyKeymasterAll 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 versioinFrankyKeymasterEME 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 🙂 ).FrankyKeymasterBtw, 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.FrankyKeymasteryes, I forgot to update the message too …
FrankyKeymasterConfirmed, 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 #60982FrankyKeymasterHi 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.FrankyKeymasterMust be, because EME only calls wordpress functions for the user creation, see the function eme_create_wp_user in eme_functions.php
FrankyKeymasterThe 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 defaultFrankyKeymasterThe 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 wysiwygFrankyKeymasterCtrl-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?FrankyKeymasterBtw, 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 …
FrankyKeymasterIn 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.FrankyKeymasterI 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.FrankyKeymasterIf you think some translations in Dutch can be better, you can always give that to me so I can update those.
FrankyKeymasterThere’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?
FrankyKeymasterIt 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 …)
FrankyKeymasterI 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");
FrankyKeymasterIt’s added on the FAQ and the readme.
FrankyKeymaster@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? #60920FrankyKeymasterIt 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? #60917FrankyKeymasterIt only returns true if the member is active, not pending
FrankyKeymasterThe 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.
FrankyKeymasterThat’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? #60912FrankyKeymasterHere that seems to work fine: [eme_mymemberships]
FrankyKeymasterThis oneliner should fix it:
https://plugins.trac.wordpress.org/changeset/2248188/FrankyKeymasterWell, #_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? #60907FrankyKeymasterThe 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 #60904FrankyKeymasterCorrection: 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 #60902FrankyKeymasterThank 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 #60899FrankyKeymasterFor 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).
FrankyKeymasterWell, 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).FrankyKeymasterBtw, if you want to use it inside the rsvp form, try #ESC_PASSWORD for the tag (see the eme_if docu).
FrankyKeymasterYou’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 🙂FrankyKeymasterI 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
FrankyKeymasterWell, 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? #60887FrankyKeymasterFor 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).FrankyKeymaster#_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 🙂FrankyKeymasterThe 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.FrankyKeymasterYour 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) #60873FrankyKeymasterSorry, but that is not possible for now.
FrankyKeymasterSeems 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.beFrankyKeymasterI 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/FrankyKeymasterOk, 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 …
FrankyKeymasterOMG … 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 🙂FrankyKeymasterEME 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
FrankyKeymasterIn 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 …)
FrankyKeymasterJust 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 #60856FrankyKeymasterThe 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 #60855FrankyKeymasterHummm … 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 …
FrankyKeymasterWell, 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'); } }
FrankyKeymastereme-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 🙂FrankyKeymasterFirst, 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 …
FrankyKeymasterFor 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? #60837FrankyKeymasterCurrently there is no order option for eme_bookings yet …
FrankyKeymasterSorry, 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).
FrankyKeymasterSet the number of max seats to book per price category too, eg:
200||100||90||3
Use 0 for no limit if wanted.
FrankyKeymasterIt 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.
FrankyKeymasterNice to hear!
Tue 11 Feb 2020 at 08:26 in reply to: eme_attendees id=x just showing a listing of lastname + (seats) #60824FrankyKeymasterIt’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) #60820FrankyKeymasterwell, 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/ )
FrankyKeymasterEven 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) #60816FrankyKeymaster#_LASTNAME and #_FIRSTNAME etc … should all work. What exactly is not working?
FrankyKeymasterIndeed a bug. This should fix it:
https://plugins.trac.wordpress.org/changeset/2241865/events-made-easy/trunk/eme_people.phpFrankyKeymasterWell, 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.
FrankyKeymasterEME 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).
FrankyKeymasterDid you check the setting if the queuing is activated? And if so: configured in the “scheduled actions”?
FrankyKeymasterPayPal 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 🙂
FrankyKeymasterCurrently 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.FrankyKeymasterThat 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 …
FrankyKeymasterWell, 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.”
FrankyKeymaster1) 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.FrankyKeymaster5) 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 🙂 )FrankyKeymasterCoorect, this should fix that:
https://plugins.trac.wordpress.org/changeset/2236903/FrankyKeymasterNice 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).
FrankyKeymasterIndeed, 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/FrankyKeymasterOk, 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).FrankyKeymasterOk, 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.
FrankyKeymasterWhich 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.FrankyKeymaster3) 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 definitionFrankyKeymasterOk, 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.
FrankyKeymasterIs 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 …
FrankyKeymasterCurrently that’s not possible. I’ll take a look at that later on, but for now the limit is 1.
FrankyKeymasterThat’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 🙂
FrankyKeymaster1) 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 …FrankyKeymasterSorry, I forgot to add the header line. Changed now (reload the page).
FrankyKeymasterBtw: 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/FrankyKeymasterFor 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.
FrankyKeymasterI’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).FrankyKeymasterCurrently not possible. The next version will have a new shortcode eme_person for this. See
https://plugins.trac.wordpress.org/changeset/2233194/FrankyKeymasterThis should fix it:
https://plugins.trac.wordpress.org/changeset/2233158/ -
AuthorPosts