Plugin Directory

Test out the new Plugin Directory and let us know what you think.

World Cup Predictor

Plugin to manage and present a fantasy football (soccer) competition for the FIFA World Cup 2014.


After installation, use Import button on the Overview menu of 'World Cup' to load the teams and match schedules.

Verify the timezone offset on this screen. Any difference should reflect the difference in time between your servers' local time and Brazilian time. If this setting is incorrect then users may be able to make predictions after kickoff.

The date and times of matches are in Brazilian local time (UTC-3)

In order to manage the teams, matches, etc. the logged user must be have the WordPress capability wcup_manager. By default the plugin adds this capability to the Administrator and Editor roles. If the 'World Cup' menu option is not available, verify that the current user has the wcup_manager role. You may need to install a capability manager plugin to manage roles and capabilities.

Users of the blog do not need any special role or capability to make predictions.

Once imported you may wish to update the URL setting via the Admin->World Cup menu for each team or venue to add links to pages on your site.


Create a post or page with the shortcode [world-cup-predictor] to display an entry form. Other shortcodes are available to display prediction results and match results. See below for more details.

Users can only predict on matches that have not yet started. Once a match has started it is removed from the entry form preventing further predictions.

Match Results

As each match is complete, use the Matches admin menu option to enter the goals scored and check the 'Match Finished' checkbox. The group tables and match results displayed by the shortcodes will be updated.

Once a team is confirmed as coming first or second in the group stage, edit the Matches to change the placeholder team to the team that has qualified to the next stage. For example, if Brazil win Group A, edit Match Number 49 and change the team from 'Winner Group A' to 'Brazil'.

This change is then reflected in the knockout results table.


None as yet.

Points Calculations

Once a match has finished, enter the final score in the Matches tab and check the 'Match Finished' box. The displayed group tables will be updated with the latest team standings.

To update the users' prediction, select the match in the 'Predictions' menu and click 'Score Selected'. This updates the users' scores in the widget and on results tables.

Points are assigned according to the settings in the 'Configure Scoring' tab.

NOTE - The bonus points are cumulative (added to the scores for exact, win and draw).

Therefore be aware that both the bonus goal and bonus goal difference points amounts will always be added to the points for a win because the goals and goal difference are the same. The bonus goal difference points are always added to a draw because the goal difference will match. Adjust the win and draw points appropriately if either of the bonus points are non-zero.


Use the following shortcodes to display a prediction form, match results, users' rankings.

Prediction Form

You can display an entry form for predictions and the results of matches and predictions with the following shortcodes in a post or page.


Display an entry form for all the configured matches where the kickoff time is before the current date and time. The form will display a countdown to the next match deadline. Once the match kickoff time has passed the match will no longer be displayed and users cannot make predictions.

You may optionally supply the attribute stage=n where n is the stage id to limit the matches to a particular group.

To display just the matches in the group stages, not the knockout stages, use the attribute group=true, e.g. [world-cup-predictor group=true].

To display matches sorted by kickoff time, rather than by each stage, use the attribute kickoff=true and optionally a limit, e.g. [world-cup-predictor kickoff=true limit=5] to display the next 5 matches.

To remove the ability to predict penalties during the knockout stages use the attribute predict_penalties=0.

Group Tables

[world-cup-predictor tables=1 stage=n show_results=n]

Display the group tables with the match results once the match has finished and the results have been entered. You may optionally supply the attribute stage=n where n is the stage id to limit the matches to a particular group. You may optionally supply the attribute show_results=n where n = 0 or 1 to hide or show the match results below the group table.

Match Results

[world-cup-predictor results=1 stage=n team=n]

Display a table of match results. You may optionally supply the attribute stage=n where n is the stage id to limit the matches to a particular group or use attribute team=n where n is the team id to limit the matches to a particular team.

Users Predictions

[world-cup-predictor scores=n]

For each match ID, specified by n, display a table of every users' predictions and the points awarded. Note - users predictions will not be shown if the match kickoff time has not yet passed. This is to prevent users viewing each others predictions before the match has started.

Use the option [world-cup-predictor scores=-1] to display all predictions for all matches in one table.

Optionally add the attribute highlight="css-styles" to add a CSS style to the table row of the currently logged in user. For example [world-cup-predictor scores=1 highlight="background:red;font-weight:bold"].

Logged in Users Predictions

[world-cup-predictor user=1 show_total=n show_results=m]

For the currently logged in user display the list of predictions for that user. If n is non-zero then show the total points for this user at he foot of the table. If m is zero do not show match results against each prediction. Also available via the Widgets.

You may also display just the users total via [world-cup-predictor show_total=1] without the table.


[world-cup-predictor ranking=1 limit=999]

Display a summary of all the users' points as a ranking table. Optionally add the attribute highlight="css-styles" to add a CSS style to the table row of the currently logged in user. For example [world-cup-predictor ranking=1 highlight="background:red;font-weight:bold"].

Also available via the Widgets.

User Rankings Widget

The widget displays similar output to the shortcode [world-cup-predictor ranking=1 limit=9999]

Drag and drop the widget to a sidebar and configure. Multiple instances of the widget, each configured separately, may be placed on a sidebar.

If not blank, the URL option adds a link to the full results page using the title below as the link text.

User Predictions Widget

The widget displays the list of the currently logged in users' predictions similar in output to the shortcode [world-cup-predictor user=1]

Drag and drop the widget to a sidebar and configure.

Toggle timezones

All match kickoff times and dates are displayed in Brazilian local time. If you have changed the match times in the admin screens to another timezone, this will NOT work.

To allow a user to toggle between BRST and local time you need to add the following code in your blog post, or sidebar, that contains one of the plugin shortcodes: For example,

<div class="tzcContainer">
  <p id="tzLocal" style="display:none">Match times are currently set to match local time, please click here to convert to your time zone.</p>
  <p id="tzClient">Match times are currently set to <strong>your timezone</strong>, please click here to revert to local time.</p>

The text can be changed to anything appropriate and include images etc. The key items are: id="tzLocal" and id="tzClient" with the second item having style="display:none". Users clicking on either of these sentences will toggle all match kickoff times between BRST and browser local time. It does rely on the users' browser being configured correctly for their timezone and locale.

By default the plugin will also attempt to display match kickoff times in the users local language.

To disable this auto-translate feature uncheck the setting on the overview screen.

Requires: 2.8 or higher
Compatible up to: 4.5.5
Last Updated: 8 months ago
Active Installs: 300+


5 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,2,2 50,2,1 100,3,3 100,4,4 100,2,2 100,2,2 100,1,1
100,2,2 100,1,1
100,3,3 50,2,1 100,2,2 100,1,1