Scroll down to the bottom of the documentation page, which I do not believe is confusing, and read through the Public Side Use section, especially when it talks about shortcodes, and you will find you can already do everything you wanted without having to directly modify the code. Also, if there are no dates for events, then use the “Ongoing” event type when you create a sheet (again, as plainly described in the documentation) as those don’t use dates.
Once again, here is the documentation:
Since people seem averse to actually following the link and reading documentation (which would have taken less time than it did to write your long post), I will copy and paste that entire section here:
Public Side use
All you really need to make all the features available to the public is to create a page for your Vounteer sign-up system and insert the main shortcode:
However, if you want to use any arguments in the shortcode, or simply have trouble remembering (or copying and pasting), it is highly recommended that you download the free PTA Shortcodes plugin, which will add a PTA icon to your page/post editor to create the shortcodes for you.
It is also recommended that you don’t put any other content in the content area of the page or post that you insert the main shortcode since the shortcode will generate different content depending on actions that the user takes.
Version 2.4.0 Added the [pta_user_signups] shortcode to display only a list of the current user’s signups (with clear links, if allowed) on any page. The show_time argument can also be used with this shortcode.
On the page that you put the shortcode, there will first appear a simple list-table of current volunteer sign-up sheets with start date, end date, and links to “View & sign-up” for each sheet. The default heading of “Current Volunteer Sign-up Sheets” above that table can be changed by adding a “list-title” argument to the shortcode, such as:
list_title=”My New Title”
Again, this is made easier if you use the PTA Shortcodes plugin.
This list will ONLY show sheets where there are still items/tasks whose dates have not already passed. If it’s a recurring or multi-day event, the sheet will still be in the list as long as there still are some dates for items/tasks that have not expired yet. Expired tasks/items will not be counted in the “Open Slots” calculations.
If a user is logged in and has already signed up for anything, then below that main list will be another list showing everything they have signed up for along with a “clear” link that they can use to remove themselves from a sign-up.
When a volunteer clicks on a sheet title or the “View & sign-up” link, the page refreshes and they will see the details for that specific sheet/event. Title, contact info, and any details will be shown at the top, followed by a table of all upcoming tasks/items. For each available spot that has not been filled yet, there will be a “Sign up” link.
When a volunteer clicks on the sign up link for an open spot, the page refreshes and they are shown a simple sign-up form where they enter first name, last name, email, and phone. If the task/item requires details, then there will be an input box for them to enter the task/item details (such as what dish they are bringing to a lunch). If the user is logged in, then their contact info will already be filled in for them if it has already been stored in their user profile (as a minimum, each user account needs an email, so that will always be filled in for logged in users). If they don’t have first name, last name, or phone already stored in their user meta, then after they sign up for their first volunteer slot, that information will be added to the user’s meta, and they won’t have to fill it in for future volunteer sign-ups.
After a user signs-up for a slot, they will immediately be emailed a confirmation with all the details, and a copy of that will also be sent to the contacts specified for the event.
Displaying a Sign-up Sheet on its own page
If you have a page where you always want to show the list of available sign-ups for a particular event/sheet, you can add the “id” argument to the shortcode. You need to look at the All Sheets list on the admin side to find the ID for a sheet, and then add the argument to the shortcode in the format:
Again, this is made easier if you use the PTA Shortcodes plugin:
With this argument included, the main list of all sign-up sheets will not be displayed, instead you will see the details and list of available sign-ups for that particular sheet. If you have the “Redirect Sign Ups to Main Page?” box check in the main settings, the volunteer will be redirected to the main “Volunteer Sign Up Page” you selected in the settings. If you want to keep them on the same page to signup, then you need to make sure the “Redirect Sign Ups to Main Page?” option is not checked.
Starting with version 2 of the plugin, you can use more than one shortcode on a page to display several single sheets on a page. If you put multiple shortcodes on one page, you will probably need to enable the option “Suppress Duplicate Output?” to avoid duplicate success/error messages, and/or use the redirect option to redirect to a main page for signups.
ALL Available Shortcode Arguments
It is once again strongly recommended that you use the PTA Shortcodes plugin to see and properly use all the available shortcode arguments, but they are listed here for reference:
id – A specific sheet ID to display. ID is shown as the first column on the admin main list of sheets
date – Can be used on its own to only show sheets/tasks for a specific date, or can also be used in combination with the id argument to only show tasks for a specific sheet and a specific date (only really useful if that sheet has tasks on multiple dates). Dates need to be specified as: yyyy-mm-dd
group – This is used to specify one or more groups to show sheets for when used in conjunction with the Groups extension
list_title – Allows you to modify the default title shown above the main list of volunteer sheets
show_headers – This allows you to determine if headers should be shown on the individual sheet display. Headers include the sheet title, contact info, and description. Argument values are “yes” or “no”. If not specified, headers will be shown by default (“yes” is default)
show_time – Allows you to show or hide the start and end time columns on the sheet display. Argument values are “yes” or “no”. If not specified, times will be shown by default (“yes” is default)
show_phone – Allows you to show phone numbers on the list of signups. Only works if you are displaying each signup in the task list (versus a consolidated view). Argument values are “yes” or “no”. If not specified, the phone column will NOT be shown(“no” is default)
order_by – Lets you define the sort order of the list of sheets shown. Can be set to “first_date” (default), “last_date”, “title”, or “id”.
order – when used with the above order_by, lets you set the ordering as ‘ASC’ or ‘DESC’ (ascending or descending).
For any of the arguments, the format is the argument id, followed by an equal sign and then the value in quotes. Here is a sample with all arguments shown:
[pta_sign_up_sheet id="6" date="" group="" list_title="" show_time="yes" show_headers="yes" show_phone="yes" order_by="title" order="ASC"]