This plugin allows you to create Groups, or Categories, for your Volunteer Sign-up Sheets, and to restrict access to group members when used in conjunction with BuddyPress or the WordPress Groups plugin.
NOTE: Version 1.2 of this plugin requires version 2.0 (or later) of the main plugin!
From the Groups submenu in Sign-Up Sheets admin menu, you can define as many Groups as you want. If you have BuddyPress or the WordPress Groups plugin installed on your system, you will also be presented with a list of those groups that you can choose to import as groups for the Sign-Up Sheets. You can then use the “group” argument in your volunteer shortcodes to filter sign-up sheets by a particular group. This way you can have different volunteer opportunity lists on different pages for each group. Version 1.2 also allows you to specify more than one group in the shortcode (separate groups by the pipe character: | ), so you can show the sign up sheets for several groups on one page. In addition, new options in 1.2 allow the lists of sheets to be output in separate lists by group (in either the main list of sheets, or on any page where you specify more than one group in the shortcode).
Version 1.2.1 also adds compatibility with the Calendar Display extension, allowing you to filter events shown on a calendar by groups (selected on the add/edit calendar page), or by specifying groups with an argument in the calendar shortcode (introduced in version 1.2 of the calendar display extension).
With version 1.1 of this plugin, you can restrict access to sheets, and filter sheets from lists, if those sheets are assigned to a BuddyPress or WordPress Groups group, and the user is not a member of the assigned group. The restrict access and filter options can be set on a sheet by sheet basis.
Also, with version 1.1 of this plugin, you can assign a sheet to multiple groups, in addition to the “none” or “all” options. The group select box on the add/edit sheet page is now a multi-select option box. Please note that if you are restricting access to a sheet, but you have an unrestricted group mixed in with BuddyPress or WordPress Groups groups (such as a group you created manually), then anyone can view that sheet. If you want to restrict access, make sure you only use BuddyPress or WordPress Groups groups.
If you wish to display only the sheets for one or more groups on a page, you need to add the “group” argument to the regular shortcode, and then for the value type in the name of one or more groups, separated by the pipe character: |
As an example, if you have two groups, Group 1 and Group 2, and you want to show all the sheets for those 2 groups on one page, the shortcode you would use is:
[pta_sign_up_sheet group="Group 1|Group 2"]
Best way to make sure you get the shortcodes generated correctly, with all the available argument options, is to use the PTA Shortcodes plugin, which adds a PTA shortcode generator to your WordPress editor.
These are the options that appear in the “Groups” submenu of the Sign-Up Sheets admin menu. Most of these should be fairly obvious from the descriptions provided next to the settings, but I’ll provide much more detailed explanations here.
- Show Group column? Check to show Group column on any volunteer sheet page where the group shortcode argument is not used. In other words, if you have a sign up sheet shortcode on a page that does NOT have a group argument added (to display one or more groups), then checking this option will add a Group column to your list of sign up sheets.
- Show Group column for single Group list? Check to show Group column on a specific group sheet page, where the group shortcode argument has been set to a specific group. The wording of this option was before you could specify multiple groups for a sheet or in a shortcode argument, but the result is the same. If you have the group argument set in a shortcode to specify one or more groups to show on a page, checking this option will also show a Group column in that list of sheets. Since sheets can now be assigned to multiple groups, you may want to show all the groups for each sheet even on pages where you are specifying one or more groups in the shortcode.
- Show “None” Group? Check to show “None” in Group column on main volunteer list page for sheets that don’t belong to a group. If a sheet doesn’t belong to any groups, do you want to see the word “None” in the Group column (if showing the column via above option)? Un-check to just have a blank entry in that column for sheets that don’t belong to any groups.
- Show “All” Group? Check to show “All” in Group column on main volunteer list page for sheets that belong to the “All” group. Same as above but for sheets that were assigned to “All” groups — do you want to see the word “All” in the group column, or nothing.
- Group Column Label – What do you want the Group column to be labeled? If you are assigning sheets to more than one group, you may want to change this to “Groups” instead of the default “Group”. Or you could use something like “Category” if you are using groups to divide your sheets into categories.
- Separate sheet tables – Groups? Check this to create separate sheet list tables for each group on pages with more than one group specified in the shortcode attribute. When specifying more than one group in the shortcode argument (separating them with the pipe character | ), if you check this option, there will be a separate sheet list created for each group. This specific option is only for shortcodes where one or more groups were specified in the shortcode arguments.
- Separate sheet tables – Main? Check this to create separate sheet list tables for each group on the main volunteer list page (no groups, and no id, specified in shortcode). Similar to above, but this option applies to shortcodes where you do NOT specify any group (and no specific sheet ID) in the shortcode arguments. All groups will get their own list of sheets on the page (sheets may appear in more than one list if they belong to more than one group).
- Allow Duplicates? Check to allow duplicate sheet names (so different groups can have sheets with the same name). This option simply bypasses the sheet name duplicate check in the main plugin, so that you can create multiple sheets with the same name, in the case where you want to have the same sheet/event name for different groups.
- Redirect? Check to redirect to the main volunteer page for sign-up forms. If you check this, sign up links will be redirected to the main volunteer page you set in the main plugin’s settings.
- Show Header Info? Check to show header info (title, contact, description) on group volunteer pages (where a group shortcode argument is used). Fairly obvious. Un-Check this if you don’t want any of your sheet details or contact info to show above the sheet list on any page with a group specified in the shortcode.
This section shows you your current groups, which you can select and delete as needed.
Add New Group
There is a simple text input and button that you can use to create new groups. Groups you create this way do not have any access restrictions, but are useful if you want to organize your sheets by groups or categories.
If you have Buddypress Groups or WordPress Groups activated, you’ll see a list of groups from those here, which you can select and import. You will need to have created the groups in the corresponding plugin first before they will show here. Once you import them, you can assign them to sheets and use the corresponding options on the add/edit sheet page (see below) to restrict access or filter sheets by these groups.
Add/Edit Sheet page
- Groups: The Groups plugin adds a “Groups” multi-select box to the Add/Edit Sheet page of the main plugin. This is where you can select one or more groups for the sheet. There is also an “All” option, which means the sheet will be shown for all groups, as well as a “None” option, which means the sheet will not be shown in any groups.
Group Restrictions – if you have Buddypress or WordPress Groups activated, you will see the following two options on the Add/Edit Sheet Page:
- Restrict Access? Check this when you want to restrict sheet view & signup access to members of any of the groups selected above (must be either BuddyPress or WP Groups only). Self-explanatory, if a user is not logged in and/or not a member of one of the groups you selected for the sheet, they will get an error message when they try to view the sheet. Please note, however, that if you add an unrestricted group that you created that is NOT a BuddyPress or WP Groups group, then everyone will be able to view that sheet.
- Filter Sheet? Check this when you want to filter this sheet from the main list of sheets if the user is not a member of any of the groups selected above (must be either BuddyPress or WP Groups only). Any sheets for which the logged in user is not a member of the groups selected for that sheet will be filtered from the main list of sheets. Similar to the above option, if you have assigned an unrestricted group to the sheet, it will not get filtered such those can be viewed by anybody.
Add/Edit Calendar page (for the Calendar Display extension)
- Filter by groups? Select ALL for sheets (first option) to show all sheets/events, and then select one or more groups to filter the sheets by the selected groups for this calendar. With the calendar display extension active, the groups plugin adds this field to the add/edit calendar page. Here you can select one or more groups for the calendar, and then only sheets that belong to those groups will appear on that calendar. Best way to do this is to set the first sheets multi-select option to “All”, and then select the groups you wish to use as your filter for all the sheets.