Stephen Sherrard

Forum Replies Created

Viewing 15 posts - 721 through 735 (of 805 total)
  • Author
    Posts
  • in reply to: This plugin is for WordPress 3.9 or later! #4976
    Stephen Sherrard
    Keymaster

    Sorry for any confusion. As stated, this shortcode generator (PTA Shortcodes) only works with WordPress version 3.9 and later, since that’s when WordPress changed the TinyMCE Editor version, and broke all the previous shortcode generator plugins. I hope nobody is still using versions of WordPress older than 3.9, as that’s not very safe any more… lots of important security updates since then, in addition to all the new features. But, if you still are using versions before version 3.9, you need to use my older PTA Zilla Shortcodes plugin to create the shortcode generator button in the editor.

    If that still doesn’t work for you, the shortcodes are clearly laid out in the documentation, which is linked to from both of the free plugins (and the Member Directory plugin has extensive built-in help that covers all its shortcodes).

    Here is the docs page for the PTA Volunteer Sign-up Sheets plugin:
    https://stephensherrardplugins.com/docs/pta-volunteer-sign-up-sheets-documentation/

    Here is the docs page for the PTA Member Directory & Contact Form plugin:
    https://stephensherrardplugins.com/docs/pta-member-directory-contact-form-documentation/

    For those who don’t like reading documentation, here is the main shortcode for the PTA Volunteer Sign-Up Sheets (copied right from the docs page):

    [pta_sign_up_sheet]

    And, here is the main shortcode for the Member Directory (which you can find in the very extensive built-it help system for the plugin — click on the “Help” tab at the upper right corner of any of the Member Directory settings pages):
    [pta_member_directory]

    And, for those who don’t want to use online help in the Member Directory plugin, or who don’t want to follow the link to the docs page for the Sign-Up Sheets plugin, here is a copy and paste of the shortcode documentation and help page for both plugins:

    Public Side use
    Shortcodes

    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:

    [pta_sign_up_sheet]

    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.

    Public functionality (Volunteer Sign-Up Sheets)

    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:

    id=”1″

    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. Sheet title and Contact info will NOT be shown for the sheet, allowing you to add other content to the page in the format that you want. If they click on a sign-up link for a task/item, it then takes them to your main Volunteer Sign Up Page, but passes the sheet & task ids so that they go right to the sign-up form. Thus, it’s very important that you still use the main shortcode without any id argument on whatever page you want as your main volunteer page, and make sure you select that page in the Main Settings for this plugin.

    PTA Member Directory & Contact Form – Shortcodes Help

    To display the directory on a page, use the shortcode:
    [pta_member_directory]

    To display the contact form on a separate page (instead of being dynamically generated from the directory page), use the shortcode: [pta_member_contact]

    To display a simple admin contact form, without the recipient select box, on a page, use the shortcode:
    [pta_admin_contact]
    This Admin contact form will send the message to the site’s admin email address.

    If you have locations enabled, you can show a member directory for a specific location by passing in a location argument in the shortcode. For example, if you have an office in Seattle, pass in the slug version of your Seattle location:
    [pta_member_directory location=”seattle”]

    The location argument also works with the contact form (whether dynamically generated or on a separate page with the contact form shortcode). If you have locations enabled, and you have a directory set up for a specific location, when you click on a contact link, the location will be passed to the contact form as well, and the contact form will only show other members from that location. However, you can also use the argument within the contact form shortcode in case you want a separate contact form that only shows members from a specific location. The argument is the same:
    [pta_member_contact location=”seattle”]

    Make sure you use the slug for the location argument! Go to the Locations page and view the list of all locations to see the slug for each location.

    When you set a location with a shortcode argument, the location will be shown at the top of the directory or contact form, using whatever display name you set in the options for “location”.

    Locations can also be passed in as arguments in links instead of hard-coded into a shortcode. See the custom links section for help on creating those links.

    You may also generate a directory for a specific position by passing in a position argument in the shortcode. For example, if you have a position called Management, pass in the slug version of the position:
    [pta_member_directory position=”management”]

    If the position argument is used, either in the directory shortcode or via an argument in a link, the position will be displayed above the directory list table, and the position column will be removed from the table. A link to send the whole group a message will appear below the table. Clicking on the group message link in this case will also pass the position argument on to the contact form, which will send a message only to that group (the recipient select box will not show).

    The position argument also works with the contact form shortcode. If you specify a position in the contact form shortcode arguments, or if it is passed in via a url argument (such as described above), then the contact form will act as a contact for for only that position, and no recipient select box will be shown. This way you can set up different contact forms for specific positions without letting the user select an alternate receipient.

    Make sure you use the slug for the position argument! Go to the Positions page and view the list of all positions to see the slug for each position.

    Positions can also be passed in as arguments in links instead of hard-coded into a shortcode. See the custom links section for help on creating those links.

    You can now also pass in id as an argument in the contact form shortcode, so that you can hardcode the recipient for a form on a page. Format is id=”12″ where the number is the member post ID. In addition, there is a hide_select argument that allows you to hide the recipient select box on the contact for when you set its value to “true”. The select box will only be hidden if an id has been passed in via either a shortcode argument or a link.

    Stephen Sherrard
    Keymaster
    in reply to: Clear PTA sign ups #4892
    Stephen Sherrard
    Keymaster

    If you want to view this content, you need to buy any product.

    Stephen Sherrard
    Keymaster
    Stephen Sherrard
    Keymaster
    in reply to: Recent Orders broken #4834
    Stephen Sherrard
    Keymaster
    in reply to: Recent Orders broken #4831
    Stephen Sherrard
    Keymaster
    in reply to: No End Date – for recurring tasks #4829
    Stephen Sherrard
    Keymaster

    Unfortunately, all the dates for a recurring event are stored in one database text field, and there is a limit as to the size of that text field. It actually used to be even smaller, but when we couldn’t add enough dates for one of our school’s events, I increased that field type to VARCHAR(500).

    I’m not sure how much larger you could make that field without it slowing things down, but you could try manually editing the database fields definitions, and perhaps switch it to type LONGTEXT, which is what is used for the sheet description (like a normal post content field). It’s the ‘dates’ field in the tasks table, which is the second database table. Definition is in the main plugin file on line 382.

    You can increment the database version number to force it to update, or deactivate/reactivate, and that should update the tables with any changes you make. Could also try updating that field type with any database tools you have for your server, such as PHPMyAdmin.

    in reply to: No End Date – for recurring tasks #4823
    Stephen Sherrard
    Keymaster

    While I agree that would be a nice feature to have, it’s simply not possible with the current database structure of this plugin (which was born as a fork from another plugin that had already setup the basic database table structure).

    It would require some fairly massive re-writing of the code, or, at the very least, creating a new sheet type with its own separate database table and separate functions to handle all the display and sign-up functions (both on public and admin side). Either way, still quite a bit of extra coding to make it all work.

    Something specific, like what you need with 4 volunteers for every evening for every day of the year, is probably better off being handled by a custom programmed solution, like I have done for other organizations.

    I will leave this here, along with all the other feature requests, although the chances of me adding something like this to this free plugin (which generates no revenue or even donations), are extremely small. But, since the plugin is open source, other programmers may want to take some of these feature requests ideas and run with them.

    in reply to: Filling slots with someone else as an admin #4607
    Stephen Sherrard
    Keymaster

    If you want to view this content, you need to buy any product.

    in reply to: Prevent page reload #4580
    Stephen Sherrard
    Keymaster

    OK… I appreciate the detailed posts and what you are trying to do, and the link to a potential solution. However, it still involves modifying the plugin to add/enqueue some javascript as shown in that link, and then modifying the PHP part of the plugin to see if that parameter has been added to the form, and add it to all the generated links. Not something that would necessarily be useful to anyone else, and still belongs in the “feature requests” category with all the other requests that people ask for (plus all the others that people email me about without adding them to the feature requests section).

    However, there may be a slight work-around that may do what you want. In that link to your own signup page you gave me, seems like you have a simple list of dates/sheets that are clickable links that then open a sheet with the list of tasks.

    Here is what you can do, and that I have tested with my own plugin:

    • Create a separate page/post for each sheet and use one shortcode with the id argument that goes with the sheet you want to show on that page.
    • In my plugin settings where there is a select box to set the main volunteer page, leave that set to “none”
    • Create a page like your main volunteer page where you have links to each of those pages you just set up.

    If you do the above, and they go to one of those pages with the single id shortcode, and then click on something to signup for, after they signup and click to go back, they will go back to that specific signup sheet page they started (because you haven’t set up a default page in the options to return to).

    Optionally, you can also purchase my Groups extension:
    https://stephensherrardplugins.com/plugins/pta-volunteer-sign-up-sheet-groups/
    and then you can arrange sign-up sheets into groups and use a shortcode to display just that group’s list of sheets. When the groups shortcode argument exists, the return links will be reworded to direct them back to the page with the shortcode for that group.

    Perhaps one of these methods might work for you without any additional custom programming.

    in reply to: Prevent page reload #4574
    Stephen Sherrard
    Keymaster

    Maybe you need to explain a bit further:

    Are you putting several individual sign-up sheet shortcodes on the same page so that you see several sheets worth of tasks on one page? Or are you just using the main shortcode but have a really long list of sign-up sheets? Or are you talking about one specific sign-up sheet that has a very long list of tasks that the user needs to scroll through?

    Right now, any links that you click on for my plugin are adding arguments to the URL, so my plugin is checking the global GET variables to figure out sheet id, task id and date. The final signup form is a standard form that must is POSTed by clicking on the button to submit, and keeps you on the same page. If the form’s POST parameters are set, then my plugin processes the form data and gives you the success or error message on the same page. At that point, the URL in your browser has not changed.

    The Go Back link uses a function to remove all my query arguments from the current URL, so that everything is reset and you see the main list of sheets again.

    Unfortunately, as far as I know, there is nothing built into javascript that allows you to retrieve query parameters, but if you do a search for that, you can find some code snippets that others have written to get that from the window object. You would then need to search through the dom elements to find the links on the page (that were already generated by my plugin) and append your anchor fragment to the end of the links. It would also have to get that anchor fragment value from your page’s CSS, but then when you get to the next page, you have no way of knowing which of your forms generated the link that was clicked on.

    If you have several of my plugin’s shortcodes generating different output sections on the main volunteer page you are using, my plugin has no way of being aware of any additional CSS elements you may have added to the page. Each one of those shortcodes calls a function in my plugin, and that function simply returns some html content that WordPress uses to replace where that shortcode was. My plugin has no way of knowing what is before or after the shortcode, unless it was already part of the global GET or POST variables.

    There is also no direct communication between PHP (server side, all executed before returning html outpu) and javascript (browser side, all executed after the html content has alread been generated and downloaded to the browser). To communicate between javascript and PHP, you need to do an AJAX call, where the javascript posts some data back to the server, which runs a pre-specified PHP callback function that then returns a response back to the javascript.

    Unfortunately, unless I’m totally misunderstanding what you want to do, there is no simple and easy solution to what you want to do.

    I’m happy to talk with you privately if you want to discuss hiring me to code a custom solution for you, otherwise you could put your ideas into the feature request section.

    in reply to: Prevent page reload #4561
    Stephen Sherrard
    Keymaster

    That’s not possible without some custom coding.

    There are really only two ways to do that:

    1. Disable the default POST form submit and process the form via jQuery/AJAX so the page doesn’t have to reload. This would involve coding and loading custom jQuery code on the sign-up page, as well as adding a PHP function for the AJAX call to process and save the form data and return it to the jQuery script to display any messages/results.

    2. You could put anchor tags on the page and have the form post action specify the anchor tag to go to. However, you would still need to modify the signup form plugin code with some kind of conditional check so that you know which signup form is being generated and which anchor tag it should go to. Right now the action for the forms is simply a blank screen since the plugin posts the form to the same page that you are already on (so that plugin users can use it on any page).

    Neither solution is quick or simple, and would require quite a bit of custom programming. #1 is probably the preferred solution that is used more often these days. If you have a working budget, I’m happy to discuss privately what it might take to program that for you. But, since the free plugins are open source, if you or anyone you know has the programming skills, you can certainly give it a shot on your own.

    in reply to: Front End Submission #4429
    Stephen Sherrard
    Keymaster

    Hi Carlen,

    Thanks for posting.

    Are you talking about the Volunteer Sign-Up Sheets plugin, or the Member Directory plugin?

    At one time I was working on front-end submissions for the Member Directory plugin, where users could submit their own listings, with approval from Admin before they get published. For the Volunteer plugin, there was nothing similar… people can sign-up from the front end, but sheets need to be created from the admin side.

    Either way, I have no current plans to work on either of those, as I’ve become far too busy with custom development projects where I can actually earn almost enough to feed my family. The free plugins, even with the low cost add-on extensions, are lucky if they bring in $20 each month or so… not even enough to cover the time I spend on supporting them. So, right now, any further features or extensions for those are extremely low priority unless there is enough interest or up front funding to cover my time.

    The plugins are all open-source, though, and, as such, any developer is free to create extensions for them, or to modify them and fork them into their own plugin. If you have working knowledge of PHP and how the hook system works in WordPress, or know somebody that does, it wouldn’t be that difficult to create your own extensions. My free plugins have plenty of action & filter hooks in place to allow them to be extended by other developers.

    Stephen Sherrard
    Keymaster
Viewing 15 posts - 721 through 735 (of 805 total)