RSVP Pro Plugin https://rsvpproplugin.com/ Easy RSVP and Event Management for WordPress Thu, 04 Jul 2019 20:22:26 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://rsvpproplugin.com/wp-content/uploads/2015/04/cropped-rsvp_pro_icon_512_x_512-32x32.png RSVP Pro Plugin https://rsvpproplugin.com/ 32 32 Managing Attendees Across Multiple Events https://rsvpproplugin.com/managing-attendees-across-multiple-events/ https://rsvpproplugin.com/managing-attendees-across-multiple-events/#respond Sun, 30 Jun 2019 23:01:24 +0000 https://rsvpproplugin.com/?p=6640 Recently a person asked how the RSVP Pro plugin could handle the case where you had thousands of attendees, and each attendee should only be able to RSVP for specific events. This is a complicated use case and one that I thought would be an excellent example of how flexible the RSVP Pro plugin can […]

The post Managing Attendees Across Multiple Events appeared first on RSVP Pro Plugin.

]]>
Recently a person asked how the RSVP Pro plugin could handle the case where you had thousands of attendees, and each attendee should only be able to RSVP for specific events. This is a complicated use case and one that I thought would be an excellent example of how flexible the RSVP Pro plugin can be.

So, how would the RSVP Pro plugin solve it? The answer is through a combination of the global attendee list, select attendees, and importing. I will break down each thing below in how you could achieve this.

First thing you will want to do is create some of the events you want people to RSVP for and make sure to turn on “select.” For a good starter check out this guide.

Once you have some of the events created, let’s turn on the global attendee list. Turning on this feature will allow us to “share” the attendee’s across the events. Even though we have enabled the global attendee list functionality, we don’t have anyone in the list so we should now import some people. If we know who should have access to the list, we can do that now via the import process.

Below is a simple example I have set up. Where we have two “select” events that we want different attendees to get access. Also, with the global attendee list, you can specify how many additional people a global attendee can invite to a specific event.  With this file setup, let’s import it now.

If you click on the “import attendees” link in the global attendees’ area.

Then we upload the file and click “next.” This next screen is where we map the different fields. The ones I want to call out that are different for global attendees are the ones below.

Once we have all of the fields mapped, we can import it. Then we can go to an individual event to confirm the import by looking at who has access to a specific event.

What happens if you need to reimport and revise the information? This is possible if a global attendee is found with the same first and last name AND email address it will update that record instead of adding a new person to the list.

One more thing that we can setup is a shortcode that will allow someone to enter in their email address or something similar to see all of the events they can RSVP for. This is where the attendee event list shortcode comes in to play which you can read about here.

Have any questions? Please get in contact with us; I love to hear from everyone.

The post Managing Attendees Across Multiple Events appeared first on RSVP Pro Plugin.

]]>
https://rsvpproplugin.com/managing-attendees-across-multiple-events/feed/ 0
Custom Question File Type & RSVP Pro Frontend Management https://rsvpproplugin.com/custom-question-file-type-rsvp-pro-frontend-management/ https://rsvpproplugin.com/custom-question-file-type-rsvp-pro-frontend-management/#respond Mon, 01 Apr 2019 17:01:50 +0000 https://rsvpproplugin.com/?p=6333 This past month two feature releases occurred — the first for all RSVP Pro plugin customers I have released a file custom question type. Now when adding a custom question, there is a “file” question type which will allow your attendees to upload files that you might need for your event. The second release was […]

The post Custom Question File Type & RSVP Pro Frontend Management appeared first on RSVP Pro Plugin.

]]>
This past month two feature releases occurred — the first for all RSVP Pro plugin customers I have released a file custom question type. Now when adding a custom question, there is a “file” question type which will allow your attendees to upload files that you might need for your event.

The second release was our first extension for the RSVP Pro plugin the RSVP Pro Frontend Management extension. This extension allows you to surface the ability for other people to manage the attendee list for a specific event. More information can is at the extensions information page.

Are there other features or extensions you want to see added to the plugin? Please let us know!

The post Custom Question File Type & RSVP Pro Frontend Management appeared first on RSVP Pro Plugin.

]]>
https://rsvpproplugin.com/custom-question-file-type-rsvp-pro-frontend-management/feed/ 0
New RSVP Pro Attendee Import Workflow https://rsvpproplugin.com/rsvp-pro-attendee-import-workflow/ https://rsvpproplugin.com/rsvp-pro-attendee-import-workflow/#respond Thu, 22 Nov 2018 18:43:39 +0000 https://rsvpproplugin.com/?p=5839 One of the frequent support requests I receive for the RSVP Pro plugin is questions surrounding the attendee import functionality. When the import process was created eight(!) years ago. You had to have a specific file layout in your spreadsheet, and it was rather fragile. The import process was way overdue for an overhaul. With […]

The post New RSVP Pro Attendee Import Workflow appeared first on RSVP Pro Plugin.

]]>
One of the frequent support requests I receive for the RSVP Pro plugin is questions surrounding the attendee import functionality. When the import process was created eight(!) years ago. You had to have a specific file layout in your spreadsheet, and it was rather fragile. The import process was way overdue for an overhaul.

With the release of version 3.8.7 the import process is much easier to use. Here is a video showing the new workflow when importing attendees.

With the new process as long as you have your attendee information in a CSV or Excel file, you can import it into your event. The only required field is either a first OR last name. You can read more details in the updated documentation.

I hope it improves your the workflow. If you have any feedback, please contact me. I love to hear from my users.

The post New RSVP Pro Attendee Import Workflow appeared first on RSVP Pro Plugin.

]]>
https://rsvpproplugin.com/rsvp-pro-attendee-import-workflow/feed/ 0
2018 Year-End Features https://rsvpproplugin.com/2018-year-end-features/ https://rsvpproplugin.com/2018-year-end-features/#respond Sat, 27 Oct 2018 08:06:17 +0000 https://rsvpproplugin.com/?p=5602 Over the past few years, I have written a lot of changes some big and some small to the free and pro version of the RSVP plugin. However, unless you comb through the changelog or if you were involved in the change yourself, it was doubtful you knew about the changes. Going forward when significant […]

The post 2018 Year-End Features appeared first on RSVP Pro Plugin.

]]>
Over the past few years, I have written a lot of changes some big and some small to the free and pro version of the RSVP plugin. However, unless you comb through the changelog or if you were involved in the change yourself, it was doubtful you knew about the changes. Going forward when significant features are planned or are getting close to release I am going to start to write about them. Speaking of which…there are two significant changes that I want to write about now. I plan to have these changes released by the end of 2018.
Improvements in the Import Process
Currently, when importing attendees into an event, a person has to create a specific information layout in the Excel file. This can be time-consuming and error-prone. That will be changing soon as there will now be a two-step process where you can specify which column in the Excel file goes to which field the value should go to. The hope is to make it less time consuming and more accessible for people to use.
Front-end Attendee Management
With the business version of the plugin, you get an additional plugin that allows you to add attendees on the front-end. That is a pretty limited feature, but it is the start of something bigger. Soon there will be the ability to manage attendees via the front-end. This will make it so your clients can maintain the attendee list without having access to the admin area of their WordPress site.
Are there any other features you would like to see get added or improved in the plugins? If so let me know.

The post 2018 Year-End Features appeared first on RSVP Pro Plugin.

]]>
https://rsvpproplugin.com/2018-year-end-features/feed/ 0
Sending Inline Images via WordPress’ WP_Mail https://rsvpproplugin.com/sending-inline-images-via-wordpress-wp_mail/ https://rsvpproplugin.com/sending-inline-images-via-wordpress-wp_mail/#respond Thu, 18 Oct 2018 18:24:31 +0000 https://rsvpproplugin.com/?p=5573 Recently I was implementing the ability to send QR codes in the RSVP confirmation emails. While doing that I ran into a stumbling block on how to send attachments inline. Since there didn’t seem to be any good documentation on how to do this minus some StackOverflow posts, I thought I would share how I […]

The post Sending Inline Images via WordPress’ WP_Mail appeared first on RSVP Pro Plugin.

]]>
Recently I was implementing the ability to send QR codes in the RSVP confirmation emails. While doing that I ran into a stumbling block on how to send attachments inline. Since there didn’t seem to be any good documentation on how to do this minus some StackOverflow posts, I thought I would share how I did it and the lessons I learned in regards to sending images as emails in WordPress.

The First Attempt

Initially, when implementing this feature, I tried to do a base64-encoded image inline with the email. However, that wouldn’t show up when the email was viewed in Gmail’s web interface. So, I kept that there and also attached the QR code at the bottom of the email as well. That worked but was pretty ugly as that meant every email with QR shortcodes had at least two QR codes in it. That would be pretty confusing for both attendees and people working events.

Inline Attachments to the Rescue

To fix this I went with inline attachments. The only problem with this and the reason I didn’t do it this way in the first place is that there was no good documentation on how to do this. Especially when you were sending out many different emails. Below is, in general, the solution I came up with which worked for my use-case. Hopefully, it can be useful to some other person as well.
In my case, the code, that sends the email is separated from the part of the code that prepares the email body for sending. To get around this, I used a global array in my plugin to temporarily store the images I wanted to inline attach. If there was one object that was just being passed around, I would have stored the information in there, but that is currently not the case for my code base. I secondly created a wrapper around the wp_mail function which we will use later to implement the inline attachments. Below is the starting of the wrapper:
function example_send_mail( $email, $subject, $body, $headers = '', $attachments = array() ) {
    wp_mail( $email, $subject, $body, $headers, $attachments );
}
I then went through my code and replaced all of the calls to wp_mail with this new wrapper function. One thing I made sure to do with the wrapper is to use the exact same parameter ordering and defaults as wp_mail, so it was simple to swap.
Once I had that in place, it was now time for me to get inline attachments working. This was broken up into two separate pieces of work:
  • Email body generation
  • Attaching the files to the email right before it sends

Generating Content

While generating content for the email I would check to see if an inline image was needed. If needed I would create the image and then add it to the global array with the following attributes:
  • uid: A unique identifier that is used for inline attachments this needs to be referenced to inline attach the image
  • name: The name of the attachment that the user will see
  • file: The path to the file that needs to be attached
The code looked something like.
$uid                     = uniqid();
$name                 = 'Inline Image.png';
$file_path            = generate_and_save_image();
$inline_attachments[] = array(
    'uid'  => $uid,
    'name' => $name,
    'file' => $file_path,
);
We then use the $uid variable for the inline image in the body of the email.
$body .= '<img src="proxy.php?url=cid:' . $uid . '" />'

Basically, the email clients see the “cid” and try to find an attachment with that ID and then shows it inline.

Attaching the Images to the Email

Now that the content has been generated we need to go back to the wrapper function we wrote earlier and attach the images to the email.
To do this, we will want to add an action with a function to embed the image. It looks like.
add_action( 'phpmailer_init', function( &$phpmailer ) use( $inline_attachments ) {
    $phpmailer->SMTPKeepAlive=true;
    foreach ( $inline_attachments as $a ) {
        $phpmailer->AddEmbeddedImage( $a['file'], $a['uid'], $a['name'] );
    }
});
What this function does is adds an embedded image with the attributes we specified when we were creating the email content. We want to do this before the wp_mail function is called. After the wp_mail function is called, we want to clean-up the images that we generated as well. Here is roughly what I wrote.
foreach ( $inline_attachments as $a ) {
    if ( file_exists( $a['name'] ) ) {
        unlink( $a['name'] );
    }
}
This is what the finished wrapper function looks like.
/**
 * Example wrapper for sending email. This is used to allow for
 * inline attachments, etc...
 *
 * @param string $email The email address we want to send the email to.
 * @param string $subject The subject for the email.
 * @param string $body The body of the email.
 * @param array  $headers The headers for the email.
 * @param array  $attachments The attachments for the email.
 */
function example_send_mail( $email, $subject, $body, $headers = '', $attachments = array() ) {
    global $inline_attachments;

    add_action( 'phpmailer_init', function( &$phpmailer ) use( $inline_attachments ) {
        $phpmailer->SMTPKeepAlive=true;
        foreach ( $inline_attachments as $a ) {
            $phpmailer->AddEmbeddedImage( $a['file'], $a['uid'], $a['name'] );
        }
    });
    wp_mail( $email, $subject, $body, $headers, $attachments );

    foreach ( $inline_attachments as $a ) {
        if ( file_exists( $a['name'] ) ) {
            unlink( $a['name'] );
        }
    }
    $inline_attachments = array();
}
That is it. I hope this is helpful to others and provides an example of how you can embed an inline attachment with WordPress.

The post Sending Inline Images via WordPress’ WP_Mail appeared first on RSVP Pro Plugin.

]]>
https://rsvpproplugin.com/sending-inline-images-via-wordpress-wp_mail/feed/ 0
RSVP Pro’s 1st Birthday https://rsvpproplugin.com/rsvp-pros-1st-birthday/ Wed, 14 Oct 2015 04:17:40 +0000 https://rsvpproplugin.com/?p=1457 One year ago today (10/13/2014) I released RSVP Pro to the world. Since it has been a year I wanted to reflect on the good and bad. First some statistics: 82 releases since this year ~130 customers I am pretty happy with both of these since there have been zero marketing efforts except for a link or […]

The post RSVP Pro’s 1st Birthday appeared first on RSVP Pro Plugin.

]]>
One year ago today (10/13/2014) I released RSVP Pro to the world. Since it has been a year I wanted to reflect on the good and bad. First some statistics:

  • 82 releases since this year
  • ~130 customers

I am pretty happy with both of these since there have been zero marketing efforts except for a link or two from the free version of the plugin. Thanks to many of my customers in giving me feedback and reporting issues. It always amazes me at the different ways people can use a product.

The Good

So many more new features have been released this year than I thought would happen. As more and more people used the plugin and gave me feedback it was important for me to deliver the functionality to let people have a successful event. Some of the larger features that were added after the initial release are:

  • An optional wizard like front-end user experience
  • Ability to easily email all or selected attendees
  • Sub-events including open and private events

The Bad

There wasn’t anything specifically bad that happened. The only thing that was “bad” was I hoped for more sales and sales to pick-up “magically” that is my own fault. It still sucks though :).

What is ahead?

Many things! To summarize though I want to finish up my ideas on how to make the RSVP Pro plugin easier to use and I am going to focus a little bit on marketing to help build an audience. My goals is to make this the easiest to use and full-featured event management or RSVP plugin for WordPress.

 

The post RSVP Pro’s 1st Birthday appeared first on RSVP Pro Plugin.

]]>
Multi-site license vs. Single license https://rsvpproplugin.com/multi-site-license-vs-single-license/ Sat, 19 Sep 2015 00:03:24 +0000 https://www.rsvpforwordpress.com/?p=1336 One fairly common use case for the RSVP Pro plugin is for event management and wedding companies to offer the plugin in a white label fashion. An easy way to do this is by enabling a WordPress Network (aka a multi-site instance), however, until recently the user experience was not the best in this case. […]

The post Multi-site license vs. Single license appeared first on RSVP Pro Plugin.

]]>
One fairly common use case for the RSVP Pro plugin is for event management and wedding companies to offer the plugin in a white label fashion. An easy way to do this is by enabling a WordPress Network (aka a multi-site instance), however, until recently the user experience was not the best in this case. Depending on how you wanted to look at it you were installing it on a single instance, however, you would get an error that the license was invalid. The multi-site license is a way to fix this so the error goes away and it continues to work better in a network.

Now when you install the pro version of the plugin and network activate it you can specify the license in the network admin section. As long as you have a multi-site license everything will validate correctly and no more invalid license messages will appear.

What happens if you install the pro plugin on just one blog in a network with a single-site license? It will operate just like you would have if you had installed it on a standalone WordPress instance as it should.

The other use case for a multi-site license is if you are a consulting shop that is going to end up using it on more than nine sites and so instead of doing multiple purchases you can just purchase it once and use the same license key for all of the sites.

The post Multi-site license vs. Single license appeared first on RSVP Pro Plugin.

]]>
Max Attendees and Waitlist Functionality https://rsvpproplugin.com/max-attendees-and-waitlist-functionality/ Tue, 30 Jun 2015 06:09:16 +0000 https://www.swimordiesoftware.com/?p=701 The RSVP Pro plugin was just released with a few more features that have been asked for recently. These features are the ability to set a max attendee limit and also to have a wait list. These two options can be found under each event’s general setting tab. A screen capture of the two options […]

The post Max Attendees and Waitlist Functionality appeared first on RSVP Pro Plugin.

]]>
The RSVP Pro plugin was just released with a few more features that have been asked for recently. These features are the ability to set a max attendee limit and also to have a wait list. These two options can be found under each event’s general setting tab. A screen capture of the two options is shown below.

max_guest_wailist_option

The option, “Max guest limit for event,” is used to specify a guest limit it can be left blank and it is assumed there is no limit. Any positive non-zero number can be used for the guest limit. When a guest tries to be added and the limit is hit either a message will appear or they will show as having RSVP’d as “No.”

The option, “Allow for a wait list,” is used to enable the wait list. If a user tries to RSVP and the event is already at maximum capacity they can choose to say no or to be added to the wait list.

Besides these two main options there are also related text formatting options under the “text customizations” tab.

waitlist_text_customization

How did these features help you in your event? We would love to hear about it.

Does the RSVP Pro plugin not exactly fit what you need? Please get in touch and we will see what we can do for you.

The post Max Attendees and Waitlist Functionality appeared first on RSVP Pro Plugin.

]]>
Wizards, Variables and Custom Questions Oh My! https://rsvpproplugin.com/wizards-variables-and-custom-questions-oh-my/ Wed, 06 May 2015 05:39:55 +0000 https://www.swimordiesoftware.com/?p=550 The last few months has been filled with many releases and new features. I wanted to talk about a few that have been released to the RSVP Pro plugin. Multi-Step Registration Probably the biggest feature was the addition of an option to change the front-end form from one long form to a wizard-like interface. Where the first step […]

The post Wizards, Variables and Custom Questions Oh My! appeared first on RSVP Pro Plugin.

]]>
The last few months has been filled with many releases and new features. I wanted to talk about a few that have been released to the RSVP Pro plugin.

Multi-Step Registration

Probably the biggest feature was the addition of an option to change the front-end form from one long form to a wizard-like interface. Where the first step is filling out a person’s information (name, email, etc..) and the next step(s) is answering information about events. This makes the UI cleaner and user-friendly as people are not given a huge wall of options that they have to deal with. To turn on the option go to the main event’s settings then click “form customizations” then finally select the option “Change the frontend to have multiple steps” wizard_option

Once that option is turned on the front-end will now be in wizard mode which look different once a user finds their name and/or creates a new user.

Mail Message Variables

The ability to send messages to attendees is useful but there are still many ways we want to see it improved. One of the items on our list was the creation of placeholders in the subject and message. Now that is possible, you can put in placeholders for an attendees: first and last name, email address, passcode and the URL for the event.

If you are looking for additional features in the message sending functionality drop us a line we would love to hear from you.

Additional Custom Question Types

The last feature I want to mention is two new custom question types: read only and admin only. These new custom question types come from user feedback. Often people wanted to be able to display a notice mixed in with the custom questions or let attendees see a value that they couldn’t change but should be able to see, such as table assignment. The read only type allows for those scenarios.

The admin-only scenario is a different but along the same vein as read only. In some cases there might be a value that needs to be associated with the attendee but that they should never see. This is where the admin only custom question is used.

 

Hopefully these new features will be helpful in managing your event and attendees. If there is anything missing in the RSVP Pro plugin that you would like to see added we welcome any and all constructive feedback.

The post Wizards, Variables and Custom Questions Oh My! appeared first on RSVP Pro Plugin.

]]>
Styling the RSVP Plugin https://rsvpproplugin.com/styling-the-rsvp-plugin/ Tue, 28 Apr 2015 05:52:30 +0000 https://www.swimordiesoftware.com/?p=518 The RSVP and RSVP Pro plugin purposely don’t do much in the way of styling. We inherit almost all styling from whatever theme is being used. The reason for this is we want to try and make everything look as similar as possible. In this post I am going to go through some of the […]

The post Styling the RSVP Plugin appeared first on RSVP Pro Plugin.

]]>
The RSVP and RSVP Pro plugin purposely don’t do much in the way of styling. We inherit almost all styling from whatever theme is being used. The reason for this is we want to try and make everything look as similar as possible. In this post I am going to go through some of the style classes that exist in the RSVP plugins and go through one quick example that only pertains to the pro version.

The post assumes some familiarity with stylesheets and how you can use your theme’s stylesheet to modify the look and feel of the site as a whole.

Available styles

  • rsvpPlugin – ID of the main RSVP Container. Each RSVP step will be wrapped in this container
  • rsvpParagraph – Class name that is used for all paragraph tags on the front end portion of the RSVP
  • rsvpFormField – Class for divs that surround a given form input, which is a combination of a label and at least one form input (could be multiple form inputs)
  • rsvpAdditionalAttendee – Class for the div container that holds each additional RSVP attendee you are associated with
  • additionalRsvpContainer – The container that holds the plus sign that allows for people to add additional attendees
  • rsvpCustomGreeting – ID for the custom greeting div that shows up if that option is enabled
  • rsvpBorderTop – Class for setting a top border on certain divs in the main input form
  • rsvpCheckboxCustomQ – Class for the div that surrounds each custom question checkbox
  • rsvpClear – A class for div elements that we want to use to set clear both. Currently used only next to rsvpCheckboxCustomQs as they are floated
  • rsvpRsvpQuestionArea (Pro Only) – A class for the RSVP attending question

An example…

Now what would we do if we want to change the radio buttons to be more like buttons side by side in the pro plugin? Well… we would leverage the rsvpRsvpQuestionArea class to modify the styles and use the fact that the labels act as buttons for the radio buttons.  Before styling them this is what the “yes”/”no” question looks like in the plugin.

default_radio_buttons

Now let’s open up the theme’s style.css and add in the following styles

.rsvpRsvpQuestionArea input[type="radio"] {
display: none!important;
}
.rsvpRsvpQuestionArea label {
background-color: green;
color: white;
padding: 10px;
}
.rsvpRsvpQuestionArea {
display: inline-block;
height: 30px;
}

What we did here was hide the radio button, we had to use the !important keyword because the RSVP stylesheet gets loaded first and we try and prevent the radio buttons being hidden.

We then make the labels green with white text and display them side by side. The end results looks like

radios_as_buttonsThis works well but we can’t tell which item is selected. So, let’s change that!


.rsvpRsvpQuestionArea input[type="radio"]:checked + label {
background-color: blue;
}

With this added style we set the label that is next to the radio that is checked to have a background-color of blue. Which now makes the buttons look like radio_selected_buttonNow our “radio” buttons look like styled buttons.

This is just an example of how the RSVP plugin can be styled. If you are ever stuck and need some help feel free to reach out to us we are here to help.

Happy styling!

The post Styling the RSVP Plugin appeared first on RSVP Pro Plugin.

]]>