Volunteer Sign Up Sheets Customizer documentation

The Volunteer Sign Up Sheets Customizer plugin is an extension for the free Volunteer Sign Up Sheets plugin, that allows you to modify most of the public side text that the main plugin generates, as well as easily changing styles for the sheet and task/signups list tables, and error/success messages.

GENERAL INFO

Features

  • Modify or Disable all the Public Text strings output by the main plugin.
  • Table header text that you modify can also be applied to the admin side lists of signups, so your custom text can be used in exporting or printing
  • Choose from Default, Compact, or Custom layout styles for public side list tables
  • For Custom layouts, you can specify a large number of display options (font sizes, colors, padding, etc.) for various types of table rows and header info shown on the public side
  • New in version 3.4 – All the layout settings for Custom layouts can now be set using the WordPress Customizer, allowing you to preview changes as you make selections. This works for all layout settings except for the DataTables settings.
  • Layout Templates can be created and assigned on a per sheet basis, allowing you to choose which columns to show, reorder columns, how to display the tables (default, one table per date, or all in one table), whether to use DataTables for display, and columns to “Group” into rows when using DataTables.
  • Customize the text and buttons used by DataTables for public side tables.
  • New in version 4.3 – All Tasks View: a new [pta_all_tasks] shortcode and Gutenberg block that displays a unified, sortable table of all upcoming volunteer opportunities across all your sign-up sheets. Volunteers can sign up directly from the table via a popup form without navigating to the individual sheet page.

Overview

This plugin lets you easily modify, or even disable, most of the public side text that the main plugin generates, without having to setup custom translation files or using PHP code snippets. Version 2 adds layout options with default, compact, and custom layout styles. Default doesn’t change anything (uses styles from main plugin, or your own manual styles if you disable the main plugin’s CSS). Compact makes the font size and cell padding smaller on the public side list tables to allow you to fit more columns/info in one row (especially helpful for themes with large default font sizes). Custom allows you to specify your own parameters for font size, cell padding, border size and color, filled row background color, as well as background & text colors for error and success messages. The Custom Styles work with either the original Table layout view, or the newer table styled Divs layout.

Version 3 adds Layout Templates that you can assign on a per sheet basis to determine what columns should be shown, the order of the columns, change column headers, and also pick between 3 different table display styles in addition to whether or not to use DataTables to display the table. It also add many more appearance controls to the custom styles section introduced in version 2.

Version 4.1 adds compatibility with Version 6 of the main plugin. As part of this update, the custom email templates feature was removed from the Customizer — those templates were migrated into the main plugin’s newer email template system, which offers more powerful options.

Version 4.3 adds the All Tasks View, a new shortcode ([pta_all_tasks]) and Gutenberg block that presents a single sortable table of all upcoming volunteer tasks across every sign-up sheet. Volunteers can quickly scan what needs to be staffed, sign up without leaving the page, and view current signups in a popup. See the All Tasks View section below for full details.

CUSTOMIZER SETTINGS

Customizer Page

A new submenu page is added to the Sign-up Sheets menu called “Customizer”. This page is where you will find all the settings for the Customizer. The page is split into several tabs:

  • Public Text – This section is where you can modify, or disable, just about any public side text generated by the main plugin
  • General Settings – This section has general options, as well as the Layout Settings
  • DataTables Settings – This section lets you edit the text that the jQuery DataTables plugin uses for table view controls, as well as enable/disable buttons for DataTables.
  • Layout Templates – This section lets you define as many layout templates as you need, which can then be assigned to sheets on a per sheet basis.
  • All Tasks View – This section contains all the settings for the [pta_all_tasks] shortcode and Gutenberg block. See the All Tasks View section below for details.
  • License – This section contains the license form to activate your license for the plugin.

Changing or Disabling Public Text

In the public text section, you will see a long list table of all the public side text you can modify.

The first column shows the “Filter ID” tag (used in the WordPress PHP filter hook), which is unique for each text string output on the public side.

The second column shows the “Screen” where that text appears, which can include: “Main Sheets List”, “Sheet Details”, “Sign Up Form”, and “Multiple” (for text that appears in more than one “Screen” location).

The third column contains a text input box, which is blank by default. Underneath each text input is a longer description of where the text appears, as well as the Default value that the plugin outputs. If you want to change the text shown on the public side, enter the text you want shown in the text input for that text string, and then scroll to the bottom of the table and hit “Submit”.

The fourth column is a Check Box input that you can use to disable the output of that text. Since an empty value in the text input will result in the default text being shown, you check the check box if you do not want anything to show for that particular text string.

The last column shows any Variables used within the text string, such as the number of remaining slots for a task. It’s empty for most text strings that don’t show any variable values. For those that do have a variable, you use XXXX as a placeholder in your custom text to indicate where you want that variable’s value shown. For example for the text that shows the number of slots remaining for a task (when consolidating open slots), the default value is: XXXX Remaining. But, you could change it to something like: Only XXXX positions left!

General Settings Tab

The first setting on this tab is: Modify Admin Table Headers? Checking the box for this setting will modify the text on the Admin side for any signups table headers you changed in the Public Text settings, such as Start Time and End Time for start and end time headers. You may want these to be changed when you are going to export or print out the list of signups using those features of the DataTables display added in version 3 of the main plugin.

Below that single setting checkbox, there will be a select box for Layout Style. If you leave this set to default, the main plugin’s CSS file will be used for the public side table lists, if you haven’t already disabled CSS in the main plugin and replaced it with your own. The second option is “Compact”, which uses the same default CSS as the main plugin, but makes the font size “smaller” and decreases the cell padding amount for the table cells and divs. This allows you to squeeze additional columns into your limited screen space, especially if additional columns are being added to the public display via the Custom Fields or Groups plugin.

The third layout option is “Custom”. If you select that, you’ll see additional fields revealed that allow you to set various properties and colors for the public side display, which should all be self-explanatory. Note that these layout options will apply to both the original table html layout, as well as the newer divs layout, of the main plugin. New in version 3.4 – All the layout settings for Custom layouts can now be set using the WordPress Customizer, allowing you to preview changes as you make selections. This works for all layout settings except for the DataTables settings.

In addition, if you have NOT disabled the main plugin’s CSS, you will see a notice about that above the select box. It is highly recommended that you disable the main plugin’s CSS file if you are going to use either the “Compact” or “Custom” layout options offered by the Customizer… this will avoid conflicts and redundant CSS.

Layout Templates

This tab lets you add/edit/delete custom Layout Templates which can then be assigned to sheets on a per sheet basis (you’ll see a dropdown select box with your template names on the add/edit sheet page).

When you add a new template, you need to give it a unique admin name (this is what you will see in the select box on the add/edit sheet pages), then choose one of the table styles. The “Default” style is the one table per task display introduced with version 3 of the main plugin. “Separate Table per Date” will create a new table for each date, with the date above the table, and the table will contain all tasks/signups for that date (this is similar to the original table display before version 3 of the main plugin). “Single Table” puts everything in one big table, which may be the best choice when using the DataTables option, especially when using the row grouping feature.

You can then check the check box if you wish to display the table using the jQuery DataTables plugin (which was added to version 3 of the main plugin for admin display of signups). This will create a simplified DataTables implementation for the task/signup table on the front end, and gives you the opportunity to use row grouping.

Below that, you will see a table of all available columns that could be shown on the tasks/signups table. This will include and custom fields you have created with the Custom Fields extension. Check the check box next to each column you wish to show. You can also change the text that appears for the column header for that template (saved individually per layout template). You can drag and drop the rows in this table to re-arrange the order in which they will appear in the tasks/signup table. Top to bottom ordering on the settings page equates to left to right column order.

If you have your layout set to use DataTables, then you can check the check boxes for any columns you want to “Group” into DataTables row groups. What this will do is organize the table to display entries in “groups” that have the same value for the checked column, and will insert a table spanning row with that value above the group (which can be styled differently). This can extend multiple levels, although I don’t recommend going past 4 levels (and the DataTables Settings page only allows you to specify styling for 4 levels).

As an example of row grouping, let’s say that you are showing the Date, Task Title, and Task Description columns, in that order, along with the “normal” columns for signups/available spots, clear link, and maybe start and stop times. If you check the Group check box for those first 3 columns (date, task title, and description), then all the data will be organized into groups of rows that have the same values, and showing those values via a table-spanning group row header. Easier to see than to explain. The image below shows the first two tasks of a test sheet. Both tasks are on the same date, so the Date row header is only shown once. Then you see the task title (task 1 and task 2), and the task descriptions, all in their own rows, followed by signups and remaining/open slots for each task. Descriptions can contain HTML, as shown in the task 2 description, so that grouped row could get big if you have a big description, but it’s much better to display it this way than to try to show the description in a column (which would get repeated for every row of the table for that task). The group rows in this example have been styled to make them stand out more (you can define the styling at the bottom of the Custom Layout section of the Settings tab on the Customizer page).

Row Grouping Example
3 level Row Grouping example
Click to view full size

Note that if you choose to show the Column Visibility button for your users, the columns that have been grouped will show up in the list of columns to show/hide when they click that button (they will initially be set to hidden status since they are being used for groups).

DataTables Settings

In this tab you can change the text that DataTables uses to display info and for various controls, as well as enable/disable buttons for the individual sheet views that use DataTables. Many of the text strings include variables in the format that DataTables uses. Anything in all caps, and surrounded by underscores, such as _START_ , is a variable and needs to be in your text string if you want the corresponding value to show.

Note on scope: The text strings (pagination labels, search box text, “showing X of Y entries”, etc.), the column heading customizations, and the CSS/styling settings on this page apply globally — they affect both the individual sheet views and the All Tasks View. The button checkboxes below (Column Visibility, Hide Signups, etc.), however, only apply to the individual sheet DataTables views. The All Tasks View has its own separate button options in the All Tasks View tab (DataTable Controls section).

Below the table where you can define the text strings, are check boxes for the buttons you can show at the top of the DataTables table on individual sheet views, which allow the viewer to have limited control over what they can view. These buttons are as follows:

  • Column Visibility Button – When this button is clicked, it will display a vertical list of all columns in the table, and the user can click to toggle the visibility of that column. By default, any columns that you had set to be Group columns (when using a custom layout template) will be hidden and shown as group rows instead. If you enable this button, the user could use this button to turn those hidden columns back on (which would be redundant, unless you also allow them to disable grouping with another button)
  • Hide Signups Button – This is a custom, one time use button, that will remove all filled signup rows from the table, leaving only the open/available rows. Possibly useful if your tasks needs a LOT of signups and people don’t want to scroll way down the page to find the open slot to click to signup. Once the signup rows are removed, they can’t be shown again without reloading/refreshing the page.
  • Disable Grouping Button – This is also a custom, one time use button, that will remove the grouped header rows, if you are using them for the layout template. Once those group rows are removed, they can’t be shown again without reloading/refreshing the page. However, if you enable the column visibility button, they can always make those columns visible using that button (they will be put into columns, though – that does not turn on the group rows again).
  • Show the Print button – Shows the button to allow printing of the table
  • Show the PDF button – Show the button to allow exporting the table to a PDF file
  • Show the CSV button – Show the button to allow exporting the table to a CSV file

Custom Email Templates (Removed in v4.1)

Prior to version 4.1, the Customizer offered a custom email templates feature that let you create per-sheet email templates for confirmation, reminder, reschedule, and clear emails.

This feature was removed in version 4.1 when compatibility with version 6 of the main plugin was added. Version 6 of the main plugin introduced a much more powerful built-in email template system that supports all the same use cases and more. During the upgrade, any custom email templates you had defined in the Customizer were migrated automatically into the main plugin’s email template system.

If you need to create or manage custom email templates, please use the Email Templates section under the Sign-Up Sheets admin menu in the main plugin.

All Tasks View

Version 4.3 adds the All Tasks View, a new [pta_all_tasks] shortcode and Gutenberg block that displays a single, unified table of all upcoming volunteer opportunities across every sign-up sheet on your site. Visitors can browse what needs to be staffed, sign up with a quick popup form, and view who has already signed up — all without navigating to individual sheet pages.

Adding the View to a Page

You can add the All Tasks View to any page in two ways:

  • Gutenberg block: Search for “All Tasks View” in the block inserter and add it to your page. The block includes an option to set the default number of rows per page.
  • Shortcode: Add [pta_all_tasks] to any page or widget area.

Shortcode attributes (all optional — each defaults to the value set in the All Tasks View settings tab):

  • days_ahead — Only show tasks that fall within this many days from today. Leave blank to show all future tasks.
  • show_ongoing — Override where ongoing (no-date) tasks appear: top, bottom, or hide.
  • no_time_position — Override where tasks without a start time sort within their date group: top or bottom.
  • items_per_page — Number of rows per DataTable page. Set to 0 to display all rows on one page.
  • show_past — Set to yes to include expired/past tasks in the table (shown with “Expired” in the Action column).
  • list_title — Custom heading text displayed above the table.
  • show_sheet_title — Show or hide the sheet title in the table. Accepts yes or no.
  • group — Filter to only show sheets belonging to a specific group (requires the Groups extension).

All Tasks View Settings Tab

The All Tasks View tab in the Customizer has several settings sections:

General

  • Enable All Tasks View — Master toggle. When set to No, the shortcode and block output nothing.
  • Default Page Length — Number of rows per DataTable page. Set to 0 to show all rows. Can be overridden per page with the items_per_page shortcode attribute.
  • Ongoing Tasks Position — Where to place tasks from Ongoing sheets (sheets with no specific dates): Top, Bottom, or Hide.
  • Timeless Tasks Position — For tasks that have a date but no start time, whether to sort them before or after timed tasks on the same date.
  • Ongoing Label — The text shown in the Date column for ongoing tasks (default: “Ongoing”).

DataTable Controls

  • Show Search Box — Enables the DataTable search/filter input above the table.
  • Show Export Buttons — Shows Print, PDF, and CSV export buttons above the table.
  • Show Column Visibility Button — Shows a button letting visitors toggle column visibility.

Columns

A drag-and-drop table lets you choose which columns to display, set the column order (left to right), and customize each column’s header label. The default columns are: Date, Sheet, Task, Start Time, End Time, Available Spots, and Action. Additional columns such as Task Description are also available but hidden by default. If you have the Custom Fields or Locations extension installed, their task-level columns will also appear here automatically. Note that signup-only fields (custom fields assigned to the sign-up form but not to sheets or tasks) do not appear in the main table — those appear in the signups popup instead.

Each column also has a Group Column checkbox. Checking this creates DataTables row grouping on that column — the column value is pulled out of the table and displayed as a spanning header row above the group. By default, Date, Sheet, and Task are set as Group columns, which creates a clean multi-level display organized first by date, then by sheet, then by task. You can change these to any combination that suits your layout.

When at least one column is grouped, a Show Disable Grouping Button option appears, letting you control whether visitors can turn off grouping with a one-click button.

Link Sheet Title

  • Link Sheet Title to Sheet Page — When the Sheet column is visible, this makes the sheet title a clickable link to that sheet’s full sign-up page.
  • Update Return Links on Sheet Pages — When a visitor navigates from the All Tasks table to a sheet page, this replaces the normal “View all Sign-up Sheets” link (and the signup form’s back link) with a “« Back to All Tasks” link pointing to the page they came from. Requires main plugin version 6.2.1 or later.
  • Return Link Text — The text for the back link (default: “« Back to All Tasks”).

Action Column Text

  • Sign Up Button Text — Text for the action link when a task has open spots (default: “Sign Up”).
  • Filled Text — Text shown when no spots remain (default: “Filled”). If Waitlists are enabled for that sheet, a “Join Waitlist” link appears here instead.
  • Expired Text — Text shown for past tasks when show_past="yes" is set (default: “Expired”).

Quick Sign-Up Popup

When Enable Quick Sign-Up Popup is set to Yes, clicking the Sign Up link opens the full sign-up form in a popup dialog box instead of navigating to the sheet page. The form includes all the same fields as the regular sign-up form — name, email, phone, item details, quantity, and any custom fields assigned to that sheet. After submitting, the table row updates automatically to reflect the new signup count.

If the visitor is an admin or sheet manager, a live-search field is also shown so they can look up existing WordPress users to sign up on their behalf.

If you set this to No, clicking the Sign Up link navigates directly to the sheet’s sign-up page.

Task Detail & Signups Popup

When Enable Task Detail & Signups Popup is set to Yes, clicking the task title link or the Available Spots count opens a popup dialog showing:

  • Sheet title and (optionally) the coordinator/chair name
  • Task name, date, and start/end times
  • Task description (if enabled in the main plugin’s sheet settings)
  • A list of current signups, respecting the sheet’s settings for showing volunteer names, phone numbers, and email addresses

Options in this section:

  • Enable Task Detail & Signups Popup — Toggles the popup on or off.
  • Popup Title — The title bar text shown at the top of the popup dialog (default: “Current Signups”).
  • Show Chair/Coordinator Name — Optionally include the sheet chair’s name in the popup header.
  • Restrict to Admins — When set to “Yes – Admins only”, only users with the manage_signup_sheets capability see the signups list. All other users see the task details but not the signup list. When set to “No – All logged-in users”, any logged-in user can view the list.
  • Show Full Last Name in Signups List — Controls how volunteer names appear in the list: either “First name + last initial only” (the default, for privacy) or “Full name”.

Columns in the signups list follow the Layout Template assigned to that sheet (configured in the Layout Templates tab). If the sheet has a Layout Template assigned, the popup will show the same columns in the same order as defined in that template — so your per-sheet column customizations carry through automatically. If no Layout Template is assigned to the sheet, the popup falls back to the default columns used by the main plugin in its standard sheet display.

If the popup is enabled and the logged-in user has clearable signups in the task, clear links appear next to their signups in the popup. Admins and sheet managers can clear any signup. The popup also includes a bulk “Clear Selected” checkbox system for clearing multiple signups at once.

All popups open at 80% of the browser window width and resize responsively.

Extension Integration

The All Tasks View works automatically with most extensions — no extra configuration is needed:

  • Custom Fields — Task-level and sheet-level custom fields are available as columns in the main table. Signup-only fields (those assigned only to the sign-up form) do not appear in the main table but do appear in the signups popup when viewing task details.
  • Locations — Location columns are automatically available in the column picker and their data is populated per-row without any additional configuration.
  • Waitlists — When a task is filled and a Waitlist is configured for its sheet, a “Join Waitlist” link appears in the Action column instead of “Filled”. The Task Detail & Signups popup also includes a separate section showing current waitlist signups, with the ability to clear individual waitlist entries.
  • Calendar Display — The All Tasks View and Calendar can coexist on the same site with no special configuration.

License

The final tab of the Customizer admin page has a simple form for entering your license key and activating your license. Although the plugin will operate just fine without the license being activated, you need an active license in order to do automatic updates of the plugin, as well as to receive support.

Starting with version 6.1 of the main Volunteer Sign Up Sheets plugin, all extension licenses can be managed centrally on the Sign-Up Sheets → Licenses page. If you have a Complete Bundle or All Access license key, the “Activate All” button there will activate every extension at once. The license form within each extension (including this tab) remains available as a fallback, but the central Licenses page is the recommended place to manage your keys.