Event + email reminders for signed up people

Hi, how can i send reminders x days before the event starts?
I also need to send emails when someone registers to an event, i know that there is an addon for this but i cant add a "dinamic" links there, each of my events have a dedicated page in my site, but that page is only accesible by the link that signed up people recieve.
Only people who recieved that email (I mean that only people who registered for that event) will know that URL.
How can i acomplish this? Right now, the 2nd request is more important.
Thanks

  • Vaughan
    • Support/SLS MockingJay

    Hi Xelentia,

    Hope you're well?

    could you provide an example of 1 of these dynamic URL's you want adding to the email, maybe we could add some code to the email add-on so that you can use this in the add-on itself.

    Regarding a reminder email, this isn't currently possible, but I can certainly add this to the feature requests for the developer to consider in a future update. I'll also ask one of our developers to see if he can come up with a quick solution for this for you.

    Hope this helps

    • Xelentia
      • Site Builder, Child of Zeus

      Hi @vaughan, thanks for your reply.
      By "dynamic url" i meant that i create a new page, post the iframe of the Hangout video (I use Hangout for this type of events). And the url of that page is random, i just type some random combination of letters and thats it. An example would be http://www.mysite.com/m9rDZJwv
      But thats not important, It would be nice to have a custom field inside the event where i can set the exact email that registered people will recieve.
      So each event have different email templates / text

  • Hoang Ngo
    • Code Slayer

    Hi @Xelentia,

    For the email, I think we can do something like this
    1. Enable the add-on Email: send email on RSVP
    2. In the body, you can add the content for your email. Also, please make sure you add this text at the end BODY_END
    Example, your email content will be something like this

    Content
    BODY_END

    3. For the event links, this will be a little bit complex you will need to enter your list like this
    [custom_link ID="your_event_id_here_please_replace" url="your URL here"]
    4. Please add this code to your theme functions.php or use mu-plugins

    add_filter( 'eab-events-rsvp_email-codec-expand', 'determine_email_link', 10, 2 );
    function determine_email_link( $content, $event ) {
    	if ( stristr( $content, 'BODY_END' ) === false ) {
    		return $content;
    	}
    	$tmp = strip_tags( $content );
    
    	$pattern    = "\[(\[?)custom_link(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)";
    	$shortcodes = preg_match_all( "/" . $pattern . '/s', $tmp, $matches );
    	foreach ( $matches as $match ) {
    		if ( empty( array_filter( $match ) ) ) {
    			continue;
    		}
    		foreach ( $match as $sc ) {
    			$args = shortcode_parse_atts( $sc );
    
    			$id = str_replace( array( '?', '”' ), '', html_entity_decode( $args['id'] ) );
    
    			if ( $id == $event->get_id() ) {
    				$url = str_replace( array( '?', '”', ']' ), '', $args['url'] );;
    				$content = str_replace( $sc, $url, $content );
    			} else {
    				$content = str_replace( $sc, '', $content );
    			}
    
    			$content = str_replace( 'BODY_END', '', $content );
    		}
    	}
    
    	return $content;
    }

    Lets see if this help.

    Best regards,
    Hoang

  • Hoang Ngo
    • Code Slayer

    Hi @Xelentia,

    Yes, this mostly for customise the link for each event.

    About the code, please try this

    <?php add_filter( 'eab-events-rsvp_email-codec-expand', 'determine_email_link', 10, 2 );
    function determine_email_link( $content, $event ) {
    	if ( stristr( $content, 'BODY_END' ) === false ) {
    		return $content;
    	}
    	$tmp = strip_tags( $content );
    
    	$pattern    = "\[(\[?)custom_link(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)";
    	$shortcodes = preg_match_all( "/" . $pattern . '/s', $tmp, $matches );
    	foreach ( $matches as $match ) {
    		if ( empty( array_filter( $match ) ) ) {
    			continue;
    		}
    		foreach ( $match as $sc ) {
    			$args = shortcode_parse_atts( $sc );
    
    			$id = str_replace( array( '?', '”' ), '', html_entity_decode( $args['id'] ) );
    
    			if ( $id == $event->get_id() ) {
    				$url = str_replace( array( '?', '”', ']' ), '', $args['url'] );;
    				$content = str_replace( $sc, $url, $content );
    			} else {
    				$content = str_replace( $sc, '', $content );
    			}
    
    			$content = str_replace( 'BODY_END', '', $content );
    		}
    	}
    
    	return $content;
    }

    Best regards,
    Hoang

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.