SpeakOut! Email Petitions


SpeakOut! Email Petitions allows you to easily create petition forms on your site.

When visitors to your site submit the petition form, a copy of your message will be sent to the email address you specified e.g. your mayor. They can also choose to have the email BCC’d to themselves (default). The petition message will be signed with the contact information provided by the form submitter. After signing the petition, visitors will have the option of sharing your petition page with their followers on Facebook or Twitter.

Signatures are stored in the WordPress database and can be easily exported to CSV format for further analysis (there is no import function). You may set a goal for the number of signatures you hope to collect and then watch as a progress bar tracks your petition’s advance toward it’s goal. Petitions may also be configured to stop accepting new signatures on a specified date.

This plugin is a fork of the speakup plugin that was quite good but had been abandoned. Current versions of SpeakOut! include an importer to migrate from speakup.

  • Version control drives me nuts. This is an update to try to fix it.


  • Bug fix: Missing close of div tag cause page to cllapse to petition width
  • Bug fix: Some changes to the petition script weren’t included with the widget


  • Bug fix: Blank lines in honorifics list and coutries list now ignored
  • Bug fix: Removed white space from an element ID name
  • Bug fix: Closed submit button tag
  • Bug fix: Removed <caption> tag from signature list header, replaced with ID in <div>
  • Bug fix: Extra </div> in sharing section caused layout problems with some themes – Thanks Erik Tuschtfeld
  • Improvement: Replaced <h3> around signature header with <div>
  • Improvement: Better styling of signature list with some space around it


  • Bug fix: Custom honorifics and country lists now work differently. I learned something about the WordPress plugin repository – either the plugin files were always updated (and therefore over-written) or they weren’t included in the plugin. So my idea of providing custom files that you can update won’t work. Instead the new method is that default files are in the /wp-content/plugins/speakout/includes/ directory. If you want to have custom honorific strings then you need to copy honorifics.txt to the /wp-content/plugins/speakout/custom directory so you have /wp-content/plugins/speakout/custom/honorifics.txt which will be read instead of the included file.


  • Improvement: New shortcodes to display petition title and petition message outside of actual petition. Thanks @newregular
  • Improvement: Added new shorcodes to list of shortcodes displayed on petitions page.
  • Improvement: Languages updated


  • Bug fix: markdown wasn’t implemented in widget
  • Bug fix: CSS directory missing in

  • Improvement: Updated tested up to


  • Bug fix: The install/upgrade process was a bit wonky
  • Bug fix: More PHP warnings resolved
  • Improvement: The text “Read The Petition” can now be edited in Dashboard > SpeakOut! > petitions > edit the petition > display options tab – Thanks Henri Squeueira – this was never actually added in 2.9.0
  • Improvement: There is a new file /wp-content/plugins/speakout/custom/countries.txt which contains a list of countries. Each is on its own line and has a separator | between the English name (for the database) and the display name which can be in the language of that country. They can also me changed to whatever order you choose and you can even remove all the un-needed countries e.g. if your petition is limited to Mexico, you might remove all other countries to make the page smaller to load and also less complex for users. Any files in the custom directory will remain untouched during updates, so your custom strings will be safe. More details at https://speakout.123host.net.au/faqconc/how-do-i-edit-the-countries-list/


  • Bug fix: Fixed Warning in petition page. Thanks @lzapad


  • Improvement: Custom modifications are going to become easer. First step is custom honorifics. There is a new file /wp-content/plugins/speakout/custom/honorifics.txt which contains a list of honorifics. Each is on its own line in your language in whichever order you choose. Any files in the custom directory will remain untouched during updates, so your custom strings will be safe. Inspired by a question by Alex.
  • Improvement: The text “Read The Petition” can now be edited in Dashboard > SpeakOut! > petitions > edit the petition > display options tab – Thanks Henri Squeueira
  • Improvemment: Fixed cursor style Edit Petition page


  • Bug fix: missing space in label on admin settings page
  • Bug fix: Missing CSS style for admin petition page
  • Improvement: Redesign of petition edit page into tabs to match settings page. Much tidier.
  • Improvement: Settings page styling now matches other pages


  • Improvement: email character ser changed to UTF-8. Thanks Markus B


  • Improvement: Entire SpeakOut! menu now only available to administrators. Previously some functions were available to all users. Thanks Oleg
  • Improvement: Update compatability to WordPress 5.7
  • Bug fix: Choosing “new window” as target for redirection wouldn’t have been working.


  • Bug fix: Pagination not working on petition list. Thanks Jason Goodman


  • Bug fix: Some strings in admin area weren’t being translated – thanks Przemek
  • Improvement: Polish language fixes – thanks Przemek


  • Bug fix: typo introduced in 2.7.5 broke petition if using recaptcha


  • Bug fix: email validation wasn’t working – thanks @sham2983
  • Improvement: Update to German language file – thanks @spanni26


  • Improvement: update German language – thanks @spanni26


  • Bug fix: Check to see if Parsedown already declared by theme


  • Bug fix: custom field now on its own line – Thanks Bob M.


  • Bug fix: widget country list not showing
  • Bug fix: “hide name from public” not in widget
  • Bug fix: widget CSS fixed to style drop-down menus
  • Improvement: changed text from “hide email from public” to “hide name from public”
  • Improvement: updated language files


  • Bug fix: improved integrity of new signature options
  • Bug fix: when emailed, the petition didn’t CC as set in dashboard
  • Bug fix: removed some debug code
  • Bug fix: fixed PHP warnings when no signature list columns selected
  • Bug fix: fixed ‘target=_blank’ for redirect URL
  • Bug fix: div around signature list, element name not wrapped in quotes
  • Bug fix: declared some variables to eliminate PHP notices
  • Improvement: Renamed function format_address to format_street_address to reduce confusion with email address
  • Improvement: Added Serbian language – thanks Mihailo Matovic.
  • Improvement: Updated all languages
  • Improvement: Option to allow signers to anonymise name on public signature list – the name is still sent to petition target. Thanks @raphaelgal
  • Improvement: If signer has chosen to be anonymous, in the admin area, their name is highlighted with a diamond ♦
  • Improvement: Added more clarity to settings pages
  • Improvement: Updated to WP version 5.6
  • Improvement: Changed some settings radio buttons to checkboxes for consistency
  • Improvement: Time can optionally be shown in admin signature list – settings -> admin signature list tab. Thanks @katalikai
  • Improvement: Display only unconfirmed signatures – choose from admin signature page dropdown. Thanks @katalikai


  • Improvement: A variable showing the number of signatures can now be added to the success message so it can say “You are signature number nn”. Thanks Ray S.


  • Bug fix: previous update didn’t allow for “no email” being seen as duplicate
  • Improvement: a few tweaks to the UI associated with 2.6.0 update. The most important is that the “no email field” opotion can’t be reversed
  • Improvement: Translation updates
  • Improvement: Typo fix “adress” -> “address”
  • Improvement: Added some links to FAQ items in dashboard
  • Apology: 2.6.0 idea wrongly attributed


  • Improvement – It is now possible to collect names without an email address, cutting the petition to the bare minimum. If disabling email it auto disables opt-in and BCC (since there is no email address). Thanks Ray S.


  • Bug fix: changed styling for signature list so it is 100% width
  • Bug fix: Signature ID not showing in CSV
  • Improvement: In the settings screen, admin can now choose which columns to display in the management signature list – thanks Michael G
  • Improvement: Human friendly option values in CSV

  • Updated compatability to WordPress 5.6 and PHP 7.0 – no code changes.


  • Bug fix: value not passed from web page to jquery

  • Improvement: Update Czech language – thanks @diprimalex


  • Bug fix: Default text in new petition title wasn’t a placeholder.


  • Improvement: Added first and last pagination buttons. Thanks @Bruno Riggs
  • Bug fix: Signature pagination buttons weren’t working as expected Thanks @tdrewes
  • Bug fix: missing { in widget.css


  • Improvement – If petition is not editable by a visitor, markdown formatting is applied
  • Improvement – other minor markdown related tweaks


  • Improvement – outgoing emails to target can now be formatted using markdown. This can be done by the admin when setting the message and additionally, if messages are editable, markdown can be used by the signer. For more information on markdown see https://speakout.123host.net.au/markdown or search the web.
  • Improvement – languages updated.


  • Bug fix: Automatic redirect after confirmation wasn’t working. Thanks @tdrewes
  • Improvement: Signature total now updates instantly when someone signs, but only if email confirmation is not enabled. Thanks Alan T.
  • Improvement: Code tidy up in various places.


  • Bug fix: Added a default value if there is no value in number of petitions to display field or number of signatures to display field in admin settings.
  • Improvement: Added generic Arabic language (_ar). Thanks Faisal K.


  • Improvement: Language updates. I discovered that the software I was using didn’t include translations that were marked as incomplete. Sheesh. Everything is now marked as complete whether it is or not 😛

  • Bug fix: Somehow jquery fix for the petition popup close icon in 2.2.12 had partially reverted. Did I never do it properly in the first place?


  • Bug fix: removed calls to non-existant jquery files. How it didn’t cause widespread issues but affected one site is a mystery. Thanks Guillaume
  • Bug fix: Check All Signatures wasn’t working in admin area
  • Improvement: Some strings weren’t being translated
  • Improvement: All language files updated
  • Improvement: Added styling class to signature list elements that didn’t have one – see https://speakout.123host.net.au/faqconc/can-i-style-the-signature-list/ Thanks @Neil F & others
  • Improvement: The signature list table has been rehashed. Now 3 options: comma separated list, table or stylable blocks. This can be selected in dashboard > SpeakOut! > settings > Signature List tab
  • Improvement: Text in admin area beside signaturelist number of rows clarified when displaying all
  • Improvement: Some styling fixes on Signature List settings page
  • Improvement: Fix styling of some address fields in theme-basic.css


  • Improvement: Better styling options for signaturelist. Removed table, added classes to each element. Thanks Nate C.


  • Improvement: Added a database index for petition ID in the signatures table. Thanks @andi22

Earlier Changelog


  • Albanian sq_AL Incomplete
  • Arabic ar_AR
  • Arabic ar (Faisal Kadri)
  • Catalan ca (Alberto Canals)
  • Czech cs_CZ (Petr Štepán, Michal Hradecký)
  • Danish da_DK (A. L.)
  • Dutch nl_NL (Kris Zanders, Petronella van Leusden)
  • Finnish fi_FI
  • French fr_FR
  • German de_DE (Hannes Heller, Armin Vasilico, Andreas Kumlehn, Frank Jermann)
  • Hebrew he_IL (Oren L)
  • Korean ko_KO (Paul Lawley-Jones)
  • Icelandic is_IS (Hildur Sif Thorarensen)
  • Italian it_IT (MacItaly, Davide Granti, Simone Apollo)
  • Norwegian nb_NO (Howard Gittela)
  • Polish pl_PL (Damian Dzieduch)
  • Portuguese (Brazil) pt_BR (Tel Amiel)
  • Romanian ro_RO (Web Hosting Geeks)
  • Russian ru_RU (Teplitsa)
  • Serbian sr_SE (Mikhailo Matovic)
  • Slovak sk_SK (@Beata)
  • Slovenian sl_SI (MA-SEO)
  • Spanish es_ES
  • Swedish sv_SE (Susanne Nyman Furugård @sunyfu)

If you would like to request or contribute a specific translation not listed above, visit the SpeakOut! Email Petitions website and use the contact form.

Emailpetition Shortcode Attributes

The following attributes may be applied when using the ‘[emailpetition]’ shortcode


The ID number of your petition (required). To display a basic petition, use this format:
‘[emailpetition id=”1″]’


This sets the width of the wrapper ‘


div>’ that surrounds the petition form. Format as you would a width rule for any standard CSS selector. Values can be denominated in px, pt, em, % etc. The units marker (px, %) must be included.

To set the petition from to display at 100% of it’s container, use:
‘[emailpetition id=”1″ width=”100%”]’

A petition set to display at 500 pixels wide can be achieved using:
‘[emailpetition id=”1″ width=”500px”]’


This sets the height of the petition message box (rather than the height of the entire form). Format as you would a height rule for any standard CSS selector. Values can be denominated in px, pt, em, % etc. The units marker (px, %) must be included.

A few notes on using percentages:
Using a % value only works when the “Allow messages to be edited” feature is turned off—because the petition message will be displayed in a ‘


div>’. When “Allow messages to be edited” is turned on, the petition message is displayed in a ”, which cannot be styled with % heights. Use px to set the height on petitions that allow message customization.

To set the message box to scale to 100% of the height of the message it contains, use any % value (setting this to 100%, 0%, 200% or any other % value has the same result). Use px if you want the box to scale to a specific height.

‘[emailpetition id=”1″ height=”500px”]’
‘[emailpetition id=”1″ height=”100%”]’


Sets the width of the outer progress bar. The filled area of the progress bar will automatically scale proportionally with the width of the outer prgress bar. Provide a numeric value in pixels only. Do not include the px unit marker.

To display the progress bar at 300 pixels wide, use:
‘[emailpetition id=”1″ progresswidth=”300″]’


Adds an arbitrary class name to the wrapper ‘


div>’ that surrounds the petition form. Typically used to assign the alignright, alignleft or aligncenter classes to the petition in order to float the petition form to one side of its container. To assign multiple classes, separate the class names with spaces.

‘[emailpetition id=”1″ class=”alignright”]’
‘[emailpetition id=”1″ class=”style1 style2″]’

Signaturelist Shortcode Attributes


The ID number of your petition (required). To display a basic signature list, use this format:
‘[signaturelist id=”1″]’


The number of signature rows to display in the table. This will override the default value provided on the Settings page. To display 10 rows, use:
‘[signaturelist id=”1″ rows=”10″]’


Format of values in the date column. Use any of the standard PHP date formating characters. Default is ‘M d, Y’. A date such as “Sunday October 14, 2012 @ 9:42 am” can be displayed using:
‘[signaturelist id=”1″ dateformat=”l F d, Y @ g:i a”]’


The text that displays in the previous signatures pagination button. Default is <.


The text that displays in the next signatures pagination button. Default is >.

signaturecount Shortcode

Display the number (as text) of signatures collected for a given petition:


The ID number of your petition (required).
‘[signaturecount id=”3″]’

signaturegoal Shortcode

Display the number (as text) of goal for a given petition:


The ID number of your petition (required).
‘[signaturegoal id=”3″]’


Use the automatic installer. Or…

  1. Download and unzip the the plugin zip file.
  2. Upload the ‘speakout’ folder to your ‘/wp-content/plugins/’ directory
  3. Activate SpeakOut! Email Petitions through the “Plugins” menu in the WordPress admin.


Where is the FAQ?



7 febrer 2021
Does what it says! Very easy to use even by non-developers. Gives a lot of customisation notes in FAQ
1 setembre 2020
This is the most useable petition plugin available - none of the other petition plugins come close to this. Extremely useable with many configuration options, very style-able with CSS. The developer, Steve, is super helpful and replies very quickly. Highly recommended. Thanks! Neil
15 juny 2020
This plugin offer you the option to quickly set up a petition and to have full control. Is there something you want to see developed? Ask. With CSS you can make it look however you want. /David


1 abril 2020
Good plugin, do the job right. Thank you for allow it for free, it's very appreciate !!
Llegiu totes les 32 ressenya

Col·laboradors i desenvolupadors

"SpeakOut! Email Petitions" és programari de codi obert. La següent gent ha contribuït en aquesta extensió.


“SpeakOut! Email Petitions” s'ha traduït a 1 localització. Gràcies als traductos per les seves aportacions.

Tradueix “SpeakOut! Email Petitions” a la teva llengua.

Interessats en el desenvolupament?

Navegueu pel codi, baixeu-vos el repositori SVN, o subscriviu-vos al registre de desenvolupament per fisl de subscripció RSS.