Toastmasters content blocks for WordPress

The New Agenda Editor

The new, improved WordPress for Toastmasters agenda editor takes advantage of an upgrade in the editor the underlying WordPress platform uses for creating and editing blog posts and website pages. Code named Gutenberg, this new editor will become the standard editing experience with the release of WordPress 5.0 (coming soon). Happily, it turns out to be a great way of handling a variety of content types, including agenda role signup widgets.

As a technology preview, the developers behind WordPress have made the Gutenberg editor available as a plugin — which I’ve made active as the editor for posts and pages on If you run an independent WordPress site, you can add the Gutenberg plugin yourself.

After activating Gutenberg, you need to take a couple of additional steps to convert your agenda templates and begin using the new agenda editor. Here’s what that looks like:

Activating the new agenda editor

The Gutenberg editor is built around the idea that different blocks of content require different controls. If you’re writing a blog post, you can still go to Posts -> Add New and just start writing. When you enter a regular paragraph block, the controls that appear in the sidebar to the right are text formatting controls (to change the font size, for example). If you start entering bullets, that becomes a list block — with controls specific for formatting bullets or changing a bullet list to a numbered list. Paste in a YouTube link, and WordPress automatically creates an embedded media block and provides a space where you can caption the video.

Gutenberg formatting controls for a paragraph.

This framework allows me to define the signup page and agenda widgets as just another type of content block. As shown in the video, you click on the + button to reveal a listing of all the block types and then enter a search term to narrow down the list. Start typing “Toastmasters,” and you’ll see all the Toastmasters agenda widgets.

The current list is:

  • Toastmasters Agenda Role – placeholder for an signup widget / agenda display of that role. Choose from a standard list of roles or add custom roles that may exist in your club. Set the number of occurrences of that role (example: 3 speakers, 3 evaluators) and the time you’re reserving on the agenda.
  • Toastmasters Agenda Note – enter text that will appear only on the agenda. In the case of “stage directions” text, you can also reserve a block of time associated with that activity (Example: 5-minute break).
  • Toastmasters Signup Form Note – Text that will appear only on the signup form, not on the agenda.
  • Toastmasters Editable Note – A note that changes from meeting to meeting, such as a theme or word of the day. Can be edited on the front end of the site by a meeting organizer (who might not otherwise have editing rights).
  • Toastmasters Absences – Allows members to let the rest of the group know when they will not be able to attend.

You can also include regular paragraphs and images in the body of your event post, and that content will then be visible in all contexts — including both the signup form and on the agenda.

One other important concept to understand is the difference between an individual event post and an event template (which I sometimes refer to as an agenda template because that’s how it’s used for Toastmasters meetings).

The template is where you lay out the standard organization of your meetings. For example, my home club goes from self-introductions, to the Toastmaster of the Day introducing all the roles, the Table Topics, a Humorist, then a 5-minute break, 3 speeches, and 3 evaluators. I’ve spent time fine tuning that standard meeting organization in the template. If I add something — for example, an Agenda Note saying we do an Educational Minute from the VPE at the beginning — I can then update all the events based on that template to include that new instruction.

I can also add future events, months in advance. They are all copies of the template, but because they are dynamic documents they become different over time as members sign up for roles and interact in other ways.

I can also modify the list of roles and other event details independently. For example, I might want to have a meeting with 2 speeches rather than 3 to give members a chance to do longer speech projects, or do an all-Table Topics meeting, or reorganize the agenda around a club contest.

That’s one reason that updating future dates is a separate step — individual events don’t automatically update when you change the template. Instead, you’ll see a list of checkboxes representing future event posts associated with the template. If individual event posts have been modified independently of the template, you should see a warning that you risk overwriting changes. You would uncheck that to avoid overwriting your contest agenda, for example.

I think the new agenda editor is going to be a big improvement. It is new, so there may be bugs.

The Gutenberg plugin is also essentially a preview / beta release of the WordPress 5.0 editor and is still being debugged. One error I’ve seen repeatedly is “Updating failed” at the top of the screen, and sometimes I’ll see it several times before I get the happier “Post published” confirmation. Often, it turns out that the information actually has been saved, but the confirmation isn’t coming through for some reason.

That said, I think you’ll find this new agenda editor system much easier to work with. Previously, I had managed to add some buttons to the “classic” WordPress editor and make it possible to click on placeholder images for roles and agenda notes — but honestly, it was kind of a hack. It’s much easier to see how I will be able to continue to add improvements with this new setup.

Let me know what you think of it!

* This software is offered "for Toastmasters" but not is provided by or endorsed by Toastmasters International. The use of Toastmasters brand assets (with proper disclaimers) in website designs has been reviewed by the Toastmasters International brand compliance team.