EntryWizard was developed to cater to the needs of camera club competitions. In these competitions members may submit multiple images with titles and other data attached.

  • Administrators use the software to design web forms, asking for information as text inputs and/or drop-down menu items as well as image files.

  • They may set up any number of different «layouts» ( specifications of what information to ask for and what limits to enforce ), assigning an identifier to each.

  • Here is one example of the sort of rules a layout is able to specify:

    • Each image must have:
      1. a short title;
      2. a «Category», which must be one of «Nature», «Photojournalism», «Still Life» or «Portrait»;
      3. a «Format», which must be one of «Digital», «Slide» or «Print»
    • Up to 6 entries may be submitted, each with or without a digital version
    • Any image of type «Digital» must have an uploaded digital version
    • At most 2 of the 6 images may be in the «Nature» category.
    • The images must be in jpeg format, with maximum dimensions of 1280 x 1024 pixels, longest dimension no less than 900 pixels, and size no greater than 1M.
  • Each webform is given a unique alphanumeric identifier, and this identifier is used within a shortcode to insert the webform in a page or post. Any number of different webforms may be created, and one of the layouts is assigned to each one. Multiple webforms may appear on one page, although currently they have to be submitted individually.

  • Each webform separately may be set as «open for upload» or «closed». If it is open, the shortcode is replaced by the upload form. If it is closed, the shortcode is replaced by a message saying that the upload is closed. A closed webform may also be opened temporarily to specified members only, and an open webform may be set to close automatically at a specified time.

  • When items have been uploaded, the administrator may either view the items online, or download them. The downloaded image files may be renamed in various ways. A spreadsheet (in comma-separated .csv format) showing the uploaded data together with some optional information about the users, may also be downloaded.

  • The uploaded images may be attached to pre-existing pages for display in a gallery.

  • There is a fine-grained permissions system allowing administrators to grant an individual user various levels of control over the webforms and layouts.
    Only logged-in users may see the webform.

  • Users of this plugin may also be interested in using Flexishow (https://sourceforge.net/projects/flexishow/) to run a slideshow using the information in the spreadsheet to select the images displayed.

  • EntryWizard has a companion plugin called Ewz-Rating (https://wordpress.org/plugins/ewz-rating/). It is designed for display and online judging of items uploaded via EntryWizard.


This plugin does not send any data to external servers. It does store in the wordpress database whatever data is requested in the forms designed by the administrator. Viewing of such data using the plugin’s shortcodes is always restricted to logged-in users, and is usually further restricted by the administrator.


  • Setting up the fields for the webform.
  • The webform in action.
  • Error message shown to user ( in a recent version of Firefox ).
  • Downloading the images and spreadsheet.


  • Either

    • Go to Plugins -> Install New and search for EntryWizard. Click «Install Now».
    • Download and unzip the file into your plugins folder.
  • In the administration area, go to Plugins, look for «EntryWizard», and click «activate».

  • The «EntryWizard» links should appear on the administration sidebar.

  • Use With Caching Plugins: Caching plugins may need to be configured so they do not cache EntryWizard data. For example, if you are using the «DB Cache Reloaded Fix» plugin, you need to add «EWZ_|ewz_» to the cache filter (where it says «Do not cache queries that contains this input contents»). If you don’t do this, users will not get immediate feedback when they upload, but will have to wait for the cache to expire.


  • The initial setup comes with two sample layouts and one sample webform. The sample webform has been assigned the identifier «example».
    To show the sample webform on your page, simply include the shortcode

    [ewz_show_webform identifier=»example»]

    in the page or post where you wish the form to appear.

  • Quickstart for the impatient:

    1. In the EntryWizard->Layouts admin page, click «Add a new layout» with options copied from the sample.

    2. Give it a new title and save it.

    3. In the EntryWizard->Webforms admin page, click «Add a new Webform». In the new webform:
      * give it a name and an identifier
      * select your newly-created layout
      * click «Open for Uploads»
      * save the webform

    4. Create a new test page, containing
      [ewz_show_webform identifier=»xxx»]
      where xxx is the identifier you just created for your new webform.

    5. Now you can experiment, changing the settings for your own layout and webform and checking the effect by reloading your test page. If it turns out badly, delete that layout and start over with a fresh copy of the sample one. Once you have a layout that makes a good starting point for you, you may delete the sample ones.

  • If you are using a plugin such as Cimy User Extra Fields, or S2Member, and wish your spreadsheet to contain some of the extra member information they create, edit the file «ewz-extra.txt». Save the result as «ewz-extra.php» in your plugins folder, and activate the new ‘EWZ_EXTRA’ plugin that it creates. ( Do not make any changes to ewz-custom-data.php ). Your code will then not be overwritten by subsequent upgrades to EntryWizard.

  • Most items in the EntryWizard admin pages have «help» icons beside them. Clicking one of these should pop up a window with more detailed information.

  • The «layout» governs the appearance of the form in the page. To change the layout of a form, go to the «webforms» page, open the relevant webform and select a different layout.

  • To change a layout, or create a new one, go to the «layouts» page. To save you the work of filling out all the details every time, new layouts are first created as copies of existing ones, to be modified as required. It is suggested that you keep the sample layouts for reference until you are comfortable with the software, and then modify the first one to be your «base» layout.

  • To open a new webform for upload, go to EntryWizard->Webforms in the WordPress Admin menu, click on the webform and check «open for uploads». To open a closed webform for selected individuals only, click «Show user selection list», and select the users. Then click «Save Changes».

  • Logged-in users may now upload images by navigating to the page containing the «ewz_show_webform» shortcode.

  • Administrators may download images and/or spreadsheet by going to EntryWizard->Webforms in the WordPress Admin menu, clicking on the webform and selecting the preferred download option. Or clicking «Manage Items» takes you to a list of all the images, which you may view, delete, or attach to a page for display in a wordpress gallery.

  • EntryWizard saves the images in a special subfolder of the wordpress «uploads» folder. The image filenames are derived from the user’s original filenames in the following way:

    1. All characters except letters, digits, underscores, dashes, and all periods except the last, are replaced by ‘_’ ( In the Settings page you may change this to ‘-‘, ‘X’ or ‘x’). This ensures the filename is acceptable on most systems.
    2. If the base filename then ends with a digit, another ‘_’ is appended. This makes extra digits added by WordPress in the case of duplicate filenames more legible. It also ensures that no filename is totally numeric – WordPress handles files with completely numeric names differently in some cases.
      Administrators may, if required, add a prefix to this filename, or even generate it entirely from information stored on the server.

How one site makes use of EntryWizard and Ewz-Rating

* Image Upload

Images are uploaded using EntryWizard. If we are planning to print the images, they are required to have one dimension at least 2560 px, otherwise the images are required to fit within 1280×1024, which is (was when this was written!) an adequate size for both judging on most monitors and for projecting at meetings.

The layout contains a single-line text input for the title, a drop-down for the category, and usually a checkbox to be checked if a comment is requested. We get up to 200 images in a competition, so to save work for the judges a maximum of 2 out of the 4 allowed entries may ask for comments.

A prefix containing the user id and the webform identifier is set to be applied on upload. This ensures that all image files for the current year have unique names.

* Download and Preparation

Because the number of images is large, using the webform download sometimes times out. So the images are usually downloaded using ftp, and the webform download is only used for the spreadsheet itself.

If we are planning to print, the large versions of the images on the server are copied to another place. The downloaded copies are resized to 1280×1024 and re-uploaded to the upload folder, overwriting the originals. Otherwise, if we are not planning to print, the images are simply downloaded for eventual display at a club meeting.

The rating scheme is set up to show the judges the title and the category, with both using «append to previous column». This helps keep the form narrow enough to display side-by-side with the image on a 1920×1200 monitor.

If there was a «comment requested» checkbox in the original upload, that field is divided among the judges. ( If there was no «comment requested» checkbox, a new «fixed text» field with the text «Comment Required» is created and divided among the judges. ) The comment input field ( which is a multi-line text input ) is then appended to this field, so «Comment Required» appears immediately above it if a comment is required. The effect of this is that on any image all judges may add a comment if they wish, and one judge is required to do so.

* Judging

Each judge is given a (temporary) user account on our website. We use a «Page Security & Membership» plugin to assign the judges to a group that has access to the page containing the relevant judging form, plus the public parts of our site, but not to the private sections.

After the main judging has taken place, if tie-breaking is required, a new page is created. For each set of tied images, an ewz-rating shortcode is added like this:
[ewz_rating view = «secondary» identifier=»sampleform» item_ids=»I1,I2,I3″], where I1,I2,I3 are the wordpress id’s of the tied images.
Any extra inputs required for tiebreaking are added to the rating scheme as «secondary», so they do not display on the main judging page.

* Presentation

All scores and comments are downloaded to a spreadsheet. For presentation at a club meeting, this spreadsheet is used with Flexishow (https://sourceforge.net/projects/flexishow/) to drive a slideshow.

After the presentation, a new .csv file is generated from the spreadsheet and uploaded back to EntryWizard using the Webforms->Data Management->Upload Extra Per-Image Data. The «content» includes the scores and comments for the image.

A new page is created that is limited to logged-in members and contains a «[gallery]» shortcode. Using the Manage Items link on the webform, the images are «attached» to this page, with comments allowed. This creates an image gallery displaying all the images, with their scores and comments, to which logged-in members may add their own comments.

( The winning images are also displayed in a public gallery that is a little nicer-looking, using other software. )

* For Developers Only

There are two hooks you may wish to make use of:
1. ewz_after_upload, which runs on completion of a successful upload. Arguments passed are
webform_title, user_id, number of new items uploaded, number of existing items updated.
2. ewz_after_delete_item, which runs after each individual item deletion. Arguments are webform_title and user_id.

Here is some very basic example code:

function my_after_upload_function( $webform_title, $user_id, $created_count, $updated_count ){
    $userdata = get_userdata( $user_id );
    $email = $userdata->user_email;
    $name = $userdata->display_name;
    error_log("Uploaded to $webform_title by $name ( $email ), $created_count items created, $updated_count items updated");

add_action('ewz_after_upload', 'my_after_upload_function', 10, 4);
    ( See WordPress documentation for add_action for the meanings of the last two arguments )

function my_after_delete_function( $webform_title, $user_id ){
    error_log("1 item Deleted from $webform_title: $user_id");
add_action('ewz_after_delete_item', 'my_after_delete_function', 10, 2 );

( Also, hooks ewz_before_delete_field, ewz_before_delete_item, ewz_before_delete_layout, ewz_before_delete_webform act are designed for use with Ewz_Rating. Changes to these may not always be documented. )


2 de marzo de 2020
We have been using for a few years and I builded some extras bit the core of it is great!! Thanks
17 de abril de 2019
Does a great job, perfect for camera clubs. Do everything you need easily. Not much more I can say as it manages everything perfectly. Thanks Mike
8 de abril de 2018
This plugin works very well and has excellent features for jurying of an art show. There is nothing else like it. Enabled us to do an excellent job without a huge cost, which as a non-profit organization, we could not have afforded.
20 de agosto de 2017
Thank you so much for developing this fantastic plugin. This plugin is the be all end all of all plugins and the developer deserves much credit. Thank you
5 de diciembre de 2016
Used it for the first time for our clubs 1st clinic this year. Worked like a charm. Used Flexishow to show the results and scores to the membership everything worked flawlessly. One question is there a WP plugin that is similar to Flexishow to show the images along with the scores and comments on Our web site?? Thanks for a great app. Dan Copeland Projected image chairman Hamiltoncameraclub.com
Leer todas las 17 reseñas

Colaboradores y desarrolladores

«EntryWizard» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


Traduce «EntryWizard» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios


  • fixed problem with random numbers in prefix when set on download.
  • improved view of permissions page on small screens.


  • Fixed: admin can’t edit optional data if it was not entered by the user.
  • Fixed: an all-items field is uneditable by the user if used in a prefix applied on upload.
  • Fixed: «all-items» fields disappear after delete or clear.
  • Disabled checking «Apply to all items» for image fields in layouts.
  • Minor code improvements and changes to help items


  • own permission instead of list_users
  • minor changes to support WordPress 5.5 and PHP 7.4
  • minor code improvements


  • Covert entrywizard tables to UTF8 if thwy do not already support it
  • Improved handling of invalid characters.


  • Automatic opening of webforms
  • Allow any field in the prefix if not applying it on upload
  • Improved timezone handling to conform with WordPress 5.3 recommendations


  • In Manage Items view, allow admin to edit data entered by users.
  • In Manage Items view, the larger views seen by clicking on the thumbnails all open in the same window.


  • front-end only ready for translation
  • option to show title if webform is closed
  • optional random number as part of prefix
  • fixed possible permission errors on files created


  • Allow a checkbox to be required
  • If zip files are being created for downloads, show a «Clean up folders» option on the webforms page bulk options
  • optionally set the text for blank selection in a dropdown
  • optionally title, caption, content from entrywizard fields when attaching images to pages
  • optionally warn when uploading an image that is not sRGB according to it’s exif data
  • several other minor bugfixes and improvements


  • Fixed initial value of no-selection text in a new field


  • allow an extra «tag» field to be added to an image via a csv upload
  • allow setting custom text for the no-selection item in option list
  • show a toggle indicator on all postboxes
  • css changes that may help with some plugin conflicts


  • Warning re use with Gutenberg editor
  • Show «label» fields in spreadsheet
  • Fixed display of user selection list in the Webform admin page
  • Some other minor fixes


  • A couple of small improvements to the Permissions page
  • Changes required for the next version (1.1.4) of Ewz-Rating
  • Several minor bugfixes and code improvements
  • New option (which is selected by default) to remove accented characters from data uploaded via .csv files


  • Added ability to hide some webforms from the webforms admin page
  • Added a function to export stored personal data
  • Fixed a bug in the sorting of webforms and layouts when not all admins have the same privileges.


  • fix for (sometimes) incorrect spreadsheet columns


  • Changes that should improve load speed for admin webforms page, especially for sites with many members
  • New interface for selecting users in a webform
  • Some code changes that will be required for any future version of Ewz-Rating


  • When creating a layout as a copy of another, save the copied layout and copy any restrictions, too
  • Some changes to the behaviour of the webform batch upload buttons, to avoid page reloads
  • If image files are renamed during the batch upload process, save a list in the upload folder
  • Remove any entrywizard-generated files when deleting all of a webform’s images
  • Fixed incorrect warning about window being too small sometimes appearing
  • Allow spaces in a prefix that is only applied on download
  • Improvements to some help text and error messages
  • Fixed a couple of other small interface issues


  • Fixed an issue (introduced in 1.3.2) with headers in downloaded spreadsheets if a multi-line text field was used
  • Changed user lists to sort by lastname, firstname
  • Improved page load speed in admin area when there are many layouts/webforms
  • This version will be required for new versions of Ewz-Rating.


  • discourage browsers from using cached thumbnails of deleted image files
  • stop deletion of an item failing because the image file has been removed
  • new option to display auto-closing date on upload form
  • warn before deleting a user with uploaded images
  • remove accents from uploaded batch data, since they cannot be handled in the .csv format
  • modified help text for csv format
  • ‘formatted text’ option applies only to 1-line inputs
  • remove a deleted layout from the «create as copy» list


  • Fixed some issues with newlines in multi-line text fields.
  • Made behaviour more consistent on saves of webforms and layouts.
  • Ignore trailing empty cells in uploaded .csv files


  • Saving a single Webform or Layout no longer completely reloads the page
  • Optional overall upload fields in a layout in addition to those attached to items
  • Batch delete facility for webforms
  • User lists sort by name instead of login
  • Button to sort webforms alphabetically
  • New fixed-text Label field for EntryWizard
  • Remove obsolete pjpeg from allowed image types
  • «Prefix» help button now works on a new webform
  • Permissions page now requires either manage_options or edit_users
  • Stop clogging up error logs with messages about bad shortcode parameters
  • Drop the default titles/names for new layouts and webforms
  • Fixed some incompatibilities with the latest version of jquery-ui
  • Hooks on successful upload or delete — see «For Developers Only»
  • This version required for new versions of Ewz-Rating.


  • Quickly generate option fields that are lists of numbers.
  • In batch uploads, allow custom thumbnail filenames, and automatically remove disallowed characters in filenames.
  • If the relevant option is checked, generate the spreadsheet when a webform is auto-closed.
  • Improved check for availability of system zip command.
  • Multiple save buttons on Layouts.
  • Other minor code improvements that should not affect functionality.


  • Fixed a bug that allowed admins to input values for «identifier» fields that were too long.
  • Allow custom thumbnail filenames in batch entry loads.


  • New Help page showing the text of all help popups.
  • Minor bugfixes
  • This version will be required for future versions of Ewz-Rating.


  • fixed functioning of the «clear» button with multi-line text inputs
  • accept a value of «0» for options in a drop-down
  • changed handling of unexpected inputs


  • fixed an issue with uploading .csv files on Windows.


  • Fixed a bug that sometimes caused issues when deleting restrictions
  • Code cleanup. This version of EntryWizard will be required for future versions of Ewz-Rating.
  • Some small additional customizations


  • added a «administrator’s notes» area to each layout
  • show a warning if an admin leaves the layouts page without saving changes
  • new «webform alias» setting, for use in table headers
  • new batch upload facility
  • alerts mostly replaced by custom popups ( which cannot be accidentally disallowed by users, as alerts can )
  • allow use of «caption» instead of «excerpt» and «description» instead of «content» in shortcodes
  • fixed a problem with sorting in the item-list view


  • New «Settings» page. Allows override of the special character replacement, and customization of text displayed to users.
  • When attaching images to pages, allow override of the new lower jpeg quality used in WP4.5
  • New button in the Layouts admin page to show a summary of all assigned spreadsheet columns.
  • Ask for confirmation before leaving the upload form with changes unsaved.
  • Stop using the now-deprecated «get_currentuserinfo» function – should stop warnings in debug log files.
  • Make the thumbnail size conform to the wordpress settings.
  • Some small changes to the appearance of the upload form that may help with dark themes.
  • Make the plugin more portable by not storing full pathnames in the database.
  • More minor bugfixes and improvements, and changes to error messages and help text.


  • fixed an incompatibility with WP4.4 when selecting items in the «Manage Items» page.


  • Some more small code changes to support the EWZ-Rating plugin, which is now available.
  • Allow ‘.’ in option-list values
  • Allow longer «prefix» values
  • Allow for longer values in text inputs
  • Several small help-text and error-message improvements


  • updated the shortcodes menu in the TinyMCE editor for compatibility with WordPress 4.3
  • removed the no-longer-needed ‘jquery-form’ requirement, which was clashing with some other plugins.
  • several minor bugfixes and code improvements
  • some code changes to improve speed
  • new multiline option for text fields
  • some minor code changes required for the planned EWZ-Rating plugin for on-line judging of images uploaded via EntryWizard.


  • Fixed a display issue that occurred when an image field was appended to the previous column in the layout
  • Changed to work with WordPress 4.2


  • fixed some minor issues with the followup code
  • fixed a bug that appeared when the first image is uploaded and the whole filename is generated
  • handle the case where popen and/or exec is disallowed


  • removed some potential vulnerabilities that could be exploited by webform managers. Thanks to Gastón Quintana for finding them.


  • fixed a security issue


  • fixed a bug in saving webform and layout orders


  • fixed a possible timezone incompatibility with other plugins


  • fixed a permissions issue with auto-closing webforms
  • made it possible to change the order of layouts and webforms on the admin pages
  • don’t attach an image to the same page more than once unless the admin has specifically allowed it


  • fixed a bug in 1.2.8


  • fixed a problem where users without edit permission on webforms were unable to download
  • made items in an options list moveable
  • some changes to documentation and error messages
  • made it less likely that browser caches will need to be cleared when updating


  • another bugfix release: in a hurry to fix the issue some people had with downloads in 1.2.5, I missed one part of the problem.


  • bugfix


  • Allow selection by (some) custom fields in the Data Management area, and their use in file prefixes.
    NB: If you created an ewz_extra plugin to make use of extra user data, please read the new version of ewz-extra.txt.
  • Changed the method of generating the zip archive. On some servers this may increase the number of images that can be downloaded without timing out.
  • Added an EWZ shortcodes menu in the tinyMCE editor ( second line ), showing only shortcodes for webforms the user has some permissions for.


fixed issue with max number of items allowed in Layouts page
protect upload folder from listing, use random filenames for downloads
make sure local time is used for automatic webform closing


  • Fixed a problem with checkboxes when a user deleted an item in the upload form and then re-entered data.
  • Added the ability to completely generate an image filename from data stored on the server.
  • Removed some unnecessary messages that were interfering with another plugin


  • Require PHP version 5.3 — needed for sortable columns in list view
  • Delete associated entrywizard items when a user is deleted
  • Several minor improvements in the page display, both user and admin


  • Removed a stray newline that broke the update process on some servers


  • Allow for compressing several columns into one in the webform view
  • Facility to schedule the automatic closing of a webform
  • Fields with ‘XFQ’ in their identifiers are not displayed in the followup form
  • Minor changes to the followup form display
  • Use the local timezone when adding a date to the filename of a downloaded file


  • allow webforms to override the number of items set in the layout
  • sortable columns in list view
  • optional extra per-item data uploadable via csv in the webforms Data Management area and optionally visible in a followup form
  • warn of spaces in option field values, and of missing image column selector in item list view
  • in webform displays, show a warning if the form is too wide to fit in the page
  • fixed some IE versions adding space between data table and submit button when data is changed
  • made it easier to drag a field to the top or bottom in the layout screen
  • made accidental re-submission of forms more difficult
  • in layout page, disable individual option maximum numbers bigger than the overall maximum


  • fixed a problem setting the change date for new installations
  • got rid of some warning messages


  • added checkbox and radio button field types
  • allow some html tags in data uploaded by admin
  • option for display in spreadsheet of pages the item was attached to
  • option for display in spreadsheet of data uploaded by admin
  • record upload date and date of most recent change separately, make both available for display in spreadsheet
  • fixed a situation where some themes could show the image on the upload form at full size instead of as a thumbnail
  • fixed an error in the documentation for the followup display: the parameter is called ‘idents’, not ‘webforms’
  • fixed an issue where a «clear» button appeared incorrectly on the upload form
  • documentación


  • added an experimental facility for a «followup» form that displays the results of several webforms with the same layout, and allows users to add one more piece of information to each item, without being able to edit the previously uploaded data.
  • improvements to the item-list admin page: Settings for attaching images to pages are now remembered, and the selection data used for the display are shown at the top of the page.
  • improved handling of duplicate filenames when attaching images to pages.
  • in extra data uploaded by admin: allow html and
    , and some improvement in error handling.
  • removed visible empty column in webform


  • fixed image files not being deleted after a failed upload from an older browser
  • fixed warning appearing on upgrade
  • automatically remove old zipfiles when new ones created ( partial files from failed downloads will still need to be removed manually )
  • on webforms page, don’t allow «apply prefix» if no prefix is set
  • improved some error messages


  • Changed to optionally add the prefix to the image file on upload instead of on download, making it easier to download image files with the correct prefix via ftp. This required the removal of the item_id substitution option in the prefix.
  • Changed to require a minimum longest dimension for uploaded images instead of a minimum area. Where a value was already set for the minimum area, set the minimum longest dimension to the square root of the minimum area. This makes it possible to require the longest dimension to be within certain limits.
  • Widened the text input field for the prefix.
  • Alert the user if no action is selected on the item list page.
  • Remember previously selected parameters on the item list page.
  • Move progess bar to above submit button on upload form.
  • Fixed bottom apply button not working on the item list page.
  • Fixed to work with a wordpress admin area that uses https.
  • Fixed an error in the custom field substitution code.
  • Improved some error message handling.
  • Fixed bad help display on admin item list page


  • changed method of handling custom data, to avoid having to edit the plugin’s own files.
  • increased time limit for upload processing
  • fixed bug in display of some error messages in older browsers


  • stop users from uploading to a closed webform using an old page


  • fixed a problem displaying webforms when the user does not have full permissions
  • make sure a new, unsaved layout can only delete itself, not the one it copied
  • help items for image size and dimensions
  • avoid a warning when there are no option-type fields in a layout
  • more informative error message for an invalid csv file upload
  • allow more time for the upload
  • remove the «


h2>» that was displaying in the «please wait» message when images are uploaded
* do not ask for confirmation on deletion if webform was not saved


  • dont use the get_cimyFieldValue when Cimy Extra Fields plugin not used


  • fix a problem when deleting a field from a layout
  • fix «copy layout» to copy the correct layout
  • fix display of some error messages
  • only ask for confirmation of a deletion if the item has been saved
  • ensure an option field has at least 1 option before saving