Table of contentsSearch
Getting startedTop
How to install
Follow these steps to install the theme
- 1. Upload and install the storm.zip theme file
- 2. Upload and install the quform.zip plugin file
- 3. Set up the theme options
- 4. Set up the Quform options
- 5. (recommended) Install the Better WordPress Minify plugin
Each step is explained in more detail below.
1. Upload and install the storm.zip theme file
Installation inside WordPress
You should find a file named storm.zip inside the downloaded ThemeForest package. Log in to WordPress and follow the steps below.
- Go to Appearance → Themes
- Click the Install Themes tab
- Click Upload
- Click Browse and browse to the location of the storm.zip file and select it
- Click Install Now
- Once the theme has installed, click Activate
If for some reason you can't get this to work, follow the guide below for uploading via FTP.
Installation via FTP (click here to show section)
Alternatively, you can upload the theme manually using FTP software. If you've installed the theme inside WordPress you should skip this step.
- Extract the storm.zip file, you will end up with a folder named storm
- Inside your FTP software, connect to your server and browse to the wp-content/themes/ directory
- Upload the storm folder into this directory
- Inside WordPress go to Appearance → Themes
- Storm should appear in the list of themes, click Activate
The final step is to make sure that /storm/cache/ directory is writeable, the theme will not function correctly if it's not. To check, visit the theme options panel by going to Appearance → Theme Options on the WordPress menu. If the cache directory is not writable you will get a warning message near the top of this page, with instructions on how to make it writeable. If you don't see a warning message, you don't need to do anything further.
2. Upload and install the quform.zip plugin file
Installation inside WordPress
You should find a file named quform.zip inside the downloaded ThemeForest package. Log in to WordPress and follow the steps below.
- Go to Plugins → Add New
- Click Upload
- Click Browse and browse to the location of the quform.zip file and select it
- Click Install Now
- Once the plugin has installed, click Activate
- You will now need to activate your Quform license to complete the install.
If for some reason you can't get this to work, follow the guide below for uploading via FTP.
Installation via FTP (click here to show section)
Alternatively, you can upload the plugin manually using FTP software. If you've installed the plugin inside WordPress you should skip this step.
- Extract the quform.zip file, you will end up with a folder named iphorm-form-builder
- Inside your FTP software, connect to your server and browse to the wp-content/plugins/ directory
- Upload the iphorm-form-builder folder into this directory
- Inside WordPress go to Plugins → Installed Plugins
- Quform should appear in the list of plugins, click Activate
- You will now need to activate your Quform license to complete the install.
3. Set up the theme options
To get to the theme options panel go to Appearance → Theme Options. From here you can customize almost all aspects of your theme.
4. Set up the Quform plugin
We have included two two already configured forms for you to use, a contact form and a register form. To set these up, see the section below, Contact / register form setup.
5. (recommended) Install the Better WordPress Minify plugin
We strongly suggest installing this plugin. It will minify and combine your site JavaScript and CSS which will speed up your page loading time and reduce bandwidth usage. Follow the steps below to install this plugin.
- Inside WordPress go to Plugins → Add New
- In the Search box, enter Better WordPress Minify
- Click Install Now
Do not activate the plugin yet. To prevent any problems, develop your website first and activate the plugin when the site goes live. The plugin caches the CSS and JavaScript, so changes you make to your site may not appear because of this, so it's better to develop with the plugin deactivated.
If your site backgrounds stops working when using the Better WordPress Minify, you probably have the Suhosin security patch for PHP enabled, which doesn't allow long URLs. To fix this, add the following directive to your php.ini configuration file and restart your web server (ask you host if you don't know how).
suhosin.get.max_value_length = 2048
Theme options panel
You can access the theme options panel by going to Appearance → Theme Options on the WordPress menu. You can change almost all aspects of your theme from here. Each option is documented with a description and tooltip to help you understand what it does. Most of the options are also explained in this document in the customization sections below.
Page metabox settings
You can customize page specific settings at the Storm Options metabox, which is below the post content when adding or editing a post or page.
Portfolio metabox settings
You can customize portfolio item specific settings at the Portfolio Item Options metabox, which is below the post content when adding or editing a portfolio item.
Form settings
Each form in the theme is configurable through the Quform plugin. To edit your existing forms, go to Quform → Forms on the WordPress menu. Hover the form you want to edit and click Edit. Help for the Quform plugin is available at Quform → Help on the WordPress menu.
Theme stylesheet (CSS file)
The main theme stylesheet is at /storm/style.css if you need to make any changes or add new styles. However, you can also easily add CSS via the Theme Options Panel under Advanced → Custom CSS.
PSD files
You will find the main PSD file in resources/storm.psd. This PSD has the design for the main pages and elements. Each page / section
is in its own folder and may be hidden.
Find the folder in the layers panel that is named after the page and click eye icon. Every element is grouped neatly in their own folders. Hidden elements are in orange layers.
If you are looking for something specific and you can not find it in the main PhotoShop file then please contact us.
Global customizationTop
Changing the logo
You can change the site logo in the theme options panel at Global → Logo. You can enter a full URL to your logo image or upload a custom logo by clicking the Upload button. We recommend your logo be no larger than approx 200px(w) or 85px(h). Remember the navigation bar has to fit inline with the logo, so there must be room for both.
Adjusting the logo position
In the Global → Logo section of Theme Options panel you will see Logo "top" position and Logo "left" position adjust these sizes to suit your logo.
Changing the logo link URL
You can change the page that your logo will link to, which may be useful if you have a landing page that you don't want to be your site home page.
Changing the navigation
Storm is compatible with the WordPress menu system. To change the navigation, go to Appearance → Menus on the WordPress menu. Create a new menu if you haven't already, you can call it anything e.g. Main. Once you've added the menu, on the top left of the page you will see a box named Theme Locations, select your new menu from the drop down and click Save.

Creating sub menus
When you have added menu items they are draggable, you can drag and drop the order of your main nav and if you require sub pages drag a menu item slighty to the right of it's parent, this will create a drop down under that main nav item.
Changing the footer
Footer left column content
To change the footer left column content, in the theme options panel go to Footer → General and enter your own text or HTML into the box labelled Footer left column content.
Show/hide scroll to top button
To change this, in the theme options panel go to Footer → General and toggle the option "Top" link.
Making the footer fixed or absolute positon
By default the footer is Fixed position (always shown). You can change it to be Absolute position, which will make page content push the footer further down the page. To do this go to Footer → General in the theme options panel and change the option Footer position.
Changing the footer popup boxes
The footer popup boxes section is a widget area, to add a popup box simply add a widget to this area. Go to Appearance → Widgets on the WordPress menu. You will find a widget area named Footer Boxes on the right hand side. Drag a widget into this area. The widget title will determine what text will be shown in the footer for this box.
Cufon font replacement
We have added some fonts for use with the Cufon script (also included). The fonts can be seen in the theme options panel, at Global → Fonts. Choose the required font by clicking on the font preview image. If you want to change what the font is applied to, scroll down to the CSS selectors option and change the existing CSS selectors to suit, any matching elements on the page will be replaced.
Google fonts
We have added support for some Google fonts that can be seen in the theme options panel, at Global → Fonts. Choose the required font by clicking on the font preview image. If you want to change what the font is applied to, scroll down to the CSS selectors option and change the existing CSS selectors to suit, any matching elements on the page will be replaced.
Background customizationTop
Adding background images
To add background images, go to the theme options panel (Appearance → Theme Options) then Background → Images. Click the Upload button and choose your images, you can select multiple images to upload more than one at the same time. We recommend that your background images are 1920x1080 pixels (w x h) and you should try to keep the file size as low as possible without sacraficing image quality, we have found that a file size of 300-500kb works fine for each image. You can make the image any size though and the background script will scale it to fit the browser window.
Background captions
You can set any background image to have a caption which will be shown when the website is in full screen mode. To set add a caption to an image, hover the uploaded image thumbnail and click the cog icon.

The background images can be sorted into a different order by dragging and dropping the thumbnail image into the required position. You can then proceed to configure the background image script, if required, with the other options on this page.
Different background images per page
We have also added a background image uploader to the page metabox settings. When adding or editing a post or page, scroll down to the Storm Options metabox and go to the Background images setting. Follow the same instructions in the section above Adding background images to set it up.
Video background
To add background video, go to the theme options panel (Appearance → Theme Options) then Background → Video. At the Background video URL setting, enter a URL to a YouTube or Vimeo URL.
So that the video can be scaled properly in different browser window sizes, you should enter the dimensions of the video. If you went with the Vimeo video, this information will be fetched automatically after you enter the URL. For YouTube you will need to find the dimensions manually, follow the link in the option description for instructions.
Different video background per page
We have also added a background video uploader to the page metabox settings. When adding or editing a post or page, scroll down to the Storm Options metabox and go to the Background video URL setting. Follow the same instructions in the section above Video background to set it up.
Audio background
To add background audio, go to the theme options panel (Appearance → Theme Options) then Background → Audio. At the Background music setting, click Add a music track to add a track. In the track settings, give it a name, and upload your audio files. Either a .mp3 or .m4a file is required, uploading a .ogg version will increase browser support. You need to use the same chosen formats for every track you add. For example if you choose .m4a and .ogg for your first track, every other track should have both a .m4a and .ogg version.
Different audio background per page
We have also added a background audio uploader to the page metabox settings. When adding or editing a post or page, scroll down to the Storm Options metabox and go to the Music tracks setting. Follow the same instructions in the section above Audio background to set it up.
Different background image settings per page (advanced)
If you wish to have different background image settings than those set on Background → Images
in the theme options panel, you will need to set up a filter hook PHP function that will modify them when a specific
page is loaded. To do this you will need the unique post / page ID. To find your post / page ID, edit the post in WordPress and look
in the address bar. Amongst other things it will have a section that looks like post=702, this
number is the post ID. See the table below for available options and the examples below the table for how to use them.
| Key | Default | Description |
|---|---|---|
| speed | 2000 | Speed of the transition between background images in milliseconds |
| transition | 'fade' | The transition animation. 'none', 'fade', 'fadeOutFadeIn', 'slideDown', 'slideRight', 'slideUp', 'slideLeft', 'carouselRight', 'carouselLeft' |
| position | 'fixed' | Whether the background is positioned absolute or fixed |
| fitLandscape | false | Prevent landscape images from being cropped by locking them at 100% width |
| fitPortrait | true | Prevent portrait images from being cropped by locking them at 100% height |
| fitAlways | false | Prevent images from ever being cropped |
| positionX | 'center' | Where to position the image on the X axis. 'left', 'center', 'right' |
| positionY | 'center' | Where to position the image on the Y axis. 'top', 'center', 'bottom' |
| easing | 'swing' | The easing function to use when transitioning |
| controlsSelector | '#fs-controls' | The jQuery selector of the element to append the controls to |
| hideSpeed | 1000 | Speed that the website is hidden at, when activating full screen mode, in milliseconds |
| showSpeed | 1000 | Speed that the website is shown at, when closing full screen mode, in milliseconds |
| controlSpeed | 500 | Speed that the controls fade in at, in full screen mode. |
| fadeIE | false | Fade the website when the full screen button is clicked in IE 7,8 |
| save | true | Save the current background image across pages in a cookie |
| slideshow | true | Enable the slideshow functionality (play/pause button) |
| slideshowAuto | true | Start the slideshow automatically |
| slideshowSpeed | 5000 | The time that each background image is displayed in the slideshow |
| random | false | Display the background images in random order each time, forces "save: false" |
| keyboard | true | Use the keyboard to control the background images. Left arrow = prev, right arrow = next, esc = close full screen mode |
| captionPosition | 'center bottom' | The default caption position |
| captionSpeed | 600 | The speed of the caption fade animation |
| bullets | true | Turns on bullet navigation |
| lowQuality | false | Turns on lower quality but higher performance transitions |
| slider | false | jQuery selector of the slider container |
| breaker | false | Display breaker image |
| breakerOnMax | false | Display breaker image in maximize mode |
| errorBackground | (empty string) | The path of the image to display if there is an error loading one of the images |
Examples
This code should be entered into the wp-content/themes/storm/functions.php file.
Change the options for a single post
Replace POSTID in the code below with your post ID.
add_filter('tcr_singular-post-POSTID_background_options', 'storm_set_background_options');
function storm_set_background_options($options)
{
$options['speed'] = 4000;
$options['slideshow'] = false;
$options['random'] = true;
$options['lowQuality'] = true;
return $options;
}
Change the options for a single page
Replace POSTID in the code below with your page ID.
add_filter('tcr_singular-page-POSTID_background_options', 'storm_set_background_options');
function storm_set_background_options($options)
{
$options['speed'] = 4000;
$options['slideshow'] = false;
$options['random'] = true;
$options['lowQuality'] = true;
return $options;
}
Change some options for all pages
This filter will only affect viewing single pages, any other page on your site such as single posts or archives will maintain your settings from the theme options panel.
add_filter('tcr_singular-page_background_options', 'storm_set_background_options');
function storm_set_background_options($options)
{
$options['speed'] = 8000;
$options['slideshow'] = false;
$options['bullets'] = false;
$options['position'] = 'absolute';
return $options;
}
Using multiple functions
PHP cannot have more than one function with the same name, if you try to use the same code to modify the settings
for more than one page you will get a Fatal error. To avoid this you chould change second paramter to add_filter
and the function name so that they are the same, but different to any existing function, for example:
add_filter('tcr_singular-page_background_options', 'storm_set_background_options_page');
function storm_set_background_options_page($options)
{
$options['speed'] = 8000;
$options['slideshow'] = false;
$options['bullets'] = false;
$options['position'] = 'absolute';
return $options;
}
add_filter('tcr_singular-page-702_background_options', 'storm_set_background_options_702');
function storm_set_background_options_702($options)
{
$options['speed'] = 4000;
$options['slideshow'] = false;
$options['random'] = true;
$options['lowQuality'] = true;
return $options;
}
Homepage customizationTop
Creating a home page like the Storm demo (Left note block)
We have added a page template called "Left Note Block" which is set up with a small content area. To create a page like this, add a new page in WordPress and at the right hand side there is a box named Page Attributes. Under Page Template choose Left Note Block.

You may need to also set up WordPress to have a static front page, instead of displaying your recent posts. To do this, see the section Set up a static homepage.
Creating an intro page
We have added a page template called "Intro Page" which has no header or content area. This is perfect for showing off your background images or video. To create a page like this, add a new page in WordPress and at the right hand side there is a box named Page Attributes. Under Page Template choose Intro Page. If you want the Skip intro button on the page to go to somewhere other than the homepage, enter the URL in the Skip intro URL in the page metabox settings.

You may need to also set up WordPress to have a static front page, instead of displaying your recent posts. To do this, see the section Set up a static homepage.
Portfolio customizationTop
Setting up a portfolio
The setup of the portfolio is split into two parts.
- 1. Add your portfolio items and images
- 2. Add the portfolio shortcode to display the items
Each step is explained in more detail below.
1. Add your portfolio items and images
You should first decide if you want to use the sortable portfolio filter to allow users to filter the portfolio items by any category you create. If you want to use this you should first add your categories to save you having to edit each portfolio item again to assign it to a category, although these can be changed at any time. To add a portfolio category, go to Portfolio → Categories on the WordPress menu and add any categories to suit.
Next, you can start adding portfolio items. Go to Portfolio → Add New on the WordPress menu, give your item a title and content if necessary. The image that will be displayed for this portfolio item is be the Featured Image of the post. To add a featured image, click Set featured image on the bottom right hand side of the page.

Choose an image file from your computer and once it has uploaded, click Use as featured image at the bottom. Now, close the popup.

If you look below the post content area, you will find the Portfolio Item Options metabox. Here you can set various options for your portfolio item. The first option Type determines what will happen when a user clicks on the item in your portfolio.
- Image - clicking on the item will open the image in a lightbox (Fancybox) or full screen view (Serene)
- Video - clicking on the item will open a video in a lightbox (set the Video URL in the field below after choosing this option)
- Portfolio - clicking on the item will take you to the single portfolio item page
- Link - clicking on the item will take you to a specified URL
Once you've set up the options, assign the portflio item to a category by using the checkboxes at the Portfolio Categories box on the right hand side.
2. Add the portfolio shortcode to display the items
Create a page for your portfolio.
Note: if you are using pretty URL permalinks and your page has the slug portfolio, you will need to change the Portfolio rewrite slug in the theme options panel to something else, as it cannot be the same as one of your pages. To do this go to Portfolio → General in the theme options panel and change Portfolio rewrite slug to something else. This option corresponds to the part of the URL before the slug of the portfolio item when viewing a single portfolio item. The bold part in the following URL is the Portfolio rewrite slug: http://www.example.com/portfolio/my-portfolio-item
Now you should add a portfolio shortcode to the page content, above the content editor click the shortcodes button.
Choose Portfolio from the drop down menu. Decide on the settings for your portfolio then click Insert & Close to insert the shortcode. Save the page and you should now have a portfolio page. See also the Portfolio shortcode section for a detailed description of the options.
Embedding video on a single portfolio item
To embed video into a single portfolio item view simply paste the URL of the video into the content area. WordPress will automatically convert this into an embedded video.
Portfolio options & Serene (full screen) gallery settings
You can change more portfolio settings and the full screen gallery settings in the theme options panel. Go to the Portfolio tab to do this.
Different Serene (full screen) gallery settings per page (advanced)
If you wish to have different Serene settings than those set on Portfolio → Full Screen
in the theme options panel, you will need to set up a filter hook PHP function that will modify them when a specific
page is loaded. To do this you will need the unique post / page ID. See the table below for available options and
the examples below the table for how to use them. To find your post / page ID, edit the post in WordPress and look
in the address bar. Amongst other things it will have a section that looks like post=702, this
number is the post ID.
| Key | Default | Description |
|---|---|---|
| speed | 2000 | Speed of the transition between background images in milliseconds |
| transition | 'fade' | The transition animation. 'none', 'fade', 'fadeOutFadeIn', 'slideDown', 'slideRight', 'slideUp', 'slideLeft', 'carouselRight', 'carouselLeft' |
| fitLandscape | false | Prevent landscape images from being cropped by locking them at 100% width |
| fitPortrait | true | Prevent portrait images from being cropped by locking them at 100% height |
| fitAlways | false | Prevent images from ever being cropped |
| positionX | 'center' | Where to position the image on the X axis. 'left', 'center', 'right' |
| positionY | 'center' | Where to position the image on the Y axis. 'top', 'center', 'bottom' |
| easing | 'swing' | The easing function to use when transitioning |
| controlSpeed | 500 | Speed that the controls fade in at, in full screen mode. |
| slideshow | true | Enable the slideshow functionality (play/pause button) |
| slideshowAuto | true | Start the slideshow automatically |
| slideshowSpeed | 7000 | The time that each background image is displayed in the slideshow |
| keyboard | true | Use the keyboard to control the background images. Left arrow = prev, right arrow = next, esc = close full screen mode |
| captionPosition | 'center bottom' | The default caption position |
| captionSpeed | 600 | The speed of the caption fade animation |
| bullets | true | Turns on bullet navigation |
| lowQuality | false | Turns on lower quality but higher performance transitions |
| errorBackground | (empty string) | The path of the image to display if there is an error loading one of the images |
Examples
This code should be entered into the wp-content/themes/storm/functions.php file.
Change the options for a single post
Replace POSTID in the code below with your post ID.
add_filter('tcr_singular-post-POSTID_serene_options', 'storm_set_serene_options');
function storm_set_serene_options($options)
{
$options['speed'] = 4000;
$options['slideshow'] = false;
$options['lowQuality'] = true;
return $options;
}
Change the options for a single page
Replace POSTID in the code below with your page ID.
add_filter('tcr_singular-page-POSTID_serene_options', 'storm_set_serene_options');
function storm_set_serene_options($options)
{
$options['speed'] = 4000;
$options['slideshow'] = false;
$options['lowQuality'] = true;
return $options;
}
Change some options for all pages
This filter will only affect viewing single pages, any other page on your site such as single posts or archives will maintain your settings from the theme options panel.
add_filter('tcr_singular-page_serene_options', 'storm_set_serene_options');
function storm_set_serene_options($options)
{
$options['speed'] = 8000;
$options['slideshow'] = false;
$options['bullets'] = false;
return $options;
}
Using multiple functions
PHP cannot have more than one function with the same name, if you try to use the same code to modify the settings
for more than one page you will get a Fatal error. To avoid this you chould change second parameter to add_filter
and the function name so that they are the same, but different to any existing function, for example:
add_filter('tcr_singular-page_serene_options', 'storm_set_serene_options_page');
function storm_set_serene_options_page($options)
{
$options['speed'] = 8000;
$options['slideshow'] = false;
$options['bullets'] = false;
return $options;
}
add_filter('tcr_singular-page-702_serene_options', 'storm_set_serene_options_702');
function storm_set_serene_options_702($options)
{
$options['speed'] = 4000;
$options['slideshow'] = false;
$options['lowQuality'] = true;
return $options;
}
Contact customizationTop
Contact / register form setup
You will need the Quform plugin installed to use the contact and register forms. We have included two already setup forms for you to use, a contact form and a register form, but you will need to import them first.
Import the form configuration
In the package downloaded from ThemeForest you will find two files in the resources/forms/ folder, these contain the form configuration data.
- quform.contact.txt
- quform.register.txt
To import the forms, go to Quform → Import on the WordPress menu. Copy and paste then content from one of text files and paste it into the text box on the page and click Import. Repeat this process for the other text file if you want to use the other form.
Set up the recipients of the email
The Quform plugin will send submitted form data to an email address, as well as save the data in your WordPress database. You will need to configure the recipient email address(es), to do this go to Quform → Forms, hover over one of the forms in the list and click Edit. In the form builder, go to Settings → Email, and enter your email address in the Recipients field. You can also access the submitted form data inside WordPress by going to Quform → Entries on the WordPress menu.
For help in using the Quform plugin you can browse through the settings and see the description and tooltips at them. You can also read the help section at Quform → Help on the WordPress menu.
Activate the Quform license
Once the Quform plugin is installed you will need to activate the license.To do this:
- 1. Log in to ThemeForest and go to your Downloads tab
- 2. Next to the Storm theme, click Licence Certificate
- 3. Download the .txt license file
- 4. Inside the file, you'll see a line containing the text Item Purchase Code: abcde-abcde-abcde-abcde. This is your license key.
- 5. Inside WordPress go to Quform → Settings
- 6. At the Enter license key field, copy and paste your license key into the field and click Verify.
The plugin is now licensed. If you have any problems with this process, please contact us, details at the Support help section.
Adding a contact page
To create a contact page like in the demo, there are 2 things you must do.
- 1. Create a page using the "Contact Page" template
- 2. Configure your contact settings
Each step is explained in more detail below.
1. Create a page using the "Contact Page" template
We have added a page template called "Contact Page" which is set up to display contact details, a contact form and a map. To create a page like this, add a new page in WordPress and at the right hand side there is a box named Page Attributes. Under Page Template choose Contact Page.

2. Configure your contact settings
To configure your contact settings go to the theme options panel, then go to Contact → General. Fill out the fields with your settings and enter your map image or iframe HTML in the box.
You should have already imported the contact form as described in the . At the Contact page template form setting select "Contact Form" from the list. If it's not there, go to the How to install section and import the contact form, then come back and select the contact form.
ShortcodesTop
The theme comes with over 45 shortcodes with many variations and options for each shortcode. Each shortcode and it's options are outlined below.
Columns
The column shortcodes allow you to make column layouts within your page. The column widths are percentage based, so they will work in
any size of containing element and can be nested. The last column in each row should use one of the shortcodes ending in _last.
There are no options for this shortcode.
| Normal column shortcode | Last column shortcode |
|---|---|
| [one_half] ... [/one_half] | [one_half_last] ... [/one_half_last] |
| [one_third] ... [/one_third] | [one_third_last] ... [/one_third_last] |
| [one_fourth] ... [/one_fourth] | [one_fourth_last] ... [/one_fourth_last] |
| [one_fifth] ... [/one_fifth] | [one_fifth_last] ... [/one_fifth_last] |
| [one_sixth] ... [/one_sixth] | [one_sixth_last] ... [/one_sixth_last] |
| [two_thirds] ... [/two_thirds] | [two_thirds_last] ... [/two_thirds_last] |
| [three_fourths] ... [/three_fourths] | [three_fourths_last] ... [/three_fourths_last] |
| [two_fifths] ... [/two_fifths] | [two_fifths_last] ... [/two_fifths_last] |
| [three_fifths] ... [/three_fifths] | [three_fifths_last] ... [/three_fifths_last] |
| [four_fifths] ... [/four_fifths] | [four_fifths_last] ... [/four_fifths_last] |
| [five_sixths] ... [/five_sixths] | [five_sixths_last] ... [/five_sixths_last] |
Examples
[one_half]Left column content[/one_half] [one_half_last]Right column content[/one_half_last]
Blog
The blog shortcode allows you to display posts. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| columns | 3 | columns="5" |
The number of columns of posts can be 1 to 6 |
| posts | (empty) | posts="1,15,19" |
A comma separated list of post IDs to show |
| categories | (empty) | categories="1,5,12" |
A comma separated list of category IDs to show posts from |
| category__and | (empty) | category__and="1,5,12" |
A comma separated list of category IDs to show posts from, the posts must be in ALL specified categories |
| category__not_in | (empty) | category__not_in="1,5,12" |
A comma separated list of category IDs to exclude posts from |
| author | (empty) | author="5" |
Show only posts from the user with this ID |
| show_title | 1 | show_title="0" |
Show the title of the post, 1 is true 0 is false |
| show_meta | 1 | show_meta="0" |
Show the post meta data, 1 is true 0 is false |
| show_date | (empty) | show_date="0" |
Show the post meta data, 1 is true 0 is false, an empty string will inherit the option from the theme options panel |
| show_description | 1 | show_description="0" |
Show the post description (excerpt), 1 is true 0 is false |
| description_length | (empty) | description_length="40" |
The length of the excerpt in words |
| full_description | 0 | full_description="1" |
Show the full post content instead of the excerpt, 1 is true 0 is false |
| show_read_more | 1 | show_read_more="0" |
Show the "Read More" button below the post, 1 is true 0 is false |
| read_more | (empty) | read_more="Continue Reading" |
The text for the "Read More" button |
| image | 1 | image="0" |
Show the post thumbnail image, 1 is true 0 is false |
| image_type | (empty) | image_type="left" |
The type of featured image.
|
| image_width | 0 | image_width="200" |
The width of the featured image, set to 0 for full width |
| image_height | 0 | image_height="200" |
The height of the featured image, set to 0 to automatically scale |
| paging | 0 | paging="1" |
Posts will be spread over multiple pages, 1 is true 0 is false |
| max | -1 | max="9" |
Number of posts to show, or posts per page if paging is on, -1 to show all |
| offset | 0 | offset="10" |
Number of post to displace or pass over |
Examples
[blog]
[blog categories="7,30" show_title="0" show_meta="0" image_type="left" image_width="200" paging="1" max="6"]
Portfolio
The portfolio shortcode allows you to display portfolio items. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| type | lightbox | type="serene" |
The type of gallery, "lightbox" will display images in a Fancybox lightbox, "serene" will display image in a full screen gallery |
| columns | 3 | columns="5" |
The number of columns of posts can be a number 1 to 6 or "grid" |
| layout | full | layout="with-sidebar" |
The layout of the page displaying the portfolio. The image widths will scale accordingly.
|
| categories | (empty) | categories="1,5,12" |
A comma separated list of category IDs to show posts from |
| sortable | 1 | sortable="0" |
Make the portfolio sortable using QuickSand. This will be disabled if paging is on. |
| paging | 0 | paging="1" |
Portfolio items will be spread over multiple pages, 1 is true 0 is false |
| max | 9 | max="12" |
Number of portfolio items to show, or posts per page if paging is on, -1 to show all |
| paged | (empty) | paged="2" |
The page to start on, if left blank it will be the first page |
| orderby | menu_order | orderby="date" |
How to order the portfolio items
|
| order | ASC | order="DESC" |
The direction of above ordering, ASC for ascending, DESC for descending |
| show_title | 1 | show_title="0" |
Show the title of the portfolio item, 1 is true 0 is false |
| link_title | 1 | link_title="0" |
Link the portfolio title to the portfolio item page, 1 is true 0 is false |
| show_description | 1 | show_description="0" |
Show the portfolio item description (excerpt), 1 is true 0 is false |
| description_length | (empty) | description_length="40" |
The length of the excerpt in words |
| show_read_more | 1 | show_read_more="0" |
Show the "Read More" button below the portfolio item, 1 is true 0 is false |
| read_more | (empty) | read_more="Continue Reading" |
The text for the "Read More" button |
| height | 0 | height="120" |
Set the image height in pixels, if set to 0 it will be set automatically |
Examples
[portfolio]
[portfolio columns="4" type="serene" categories="7,30" show_title="0" paging="1" max="6"]
Quotes
Blockquote
The blockquote shortcode allows you to display a fancy full width quote. The content of your quote should be between the opening and closing shortcodes. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| cite | (empty) | cite="Leonardo da Vinci" |
(Optional) The citation of the quote, will be shown underneath it |
| citelink | (empty) | citelink="http://www.example.com" |
(Optional) The citation will link to this URL |
Examples
[blockquote]Simplicity is the ultimate sophistication.[/blockquote]
[blockquote cite="Leonardo da Vinci" citelink="http://www.example.com"]Simplicity is the ultimate sophistication.[/blockquote]
Pullquotes
The pullquote shortcode allows you to display a fancy quote floated in your page content. The content of your quote should be between the opening and closing shortcodes. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| align | left | align="center" |
The alignment of the quote within the content
|
| width | (empty) | width="200px" |
The CSS width of the pullquote in pixels, e.g. "200px" or "30%" |
| cite | (empty) | cite="Leonardo da Vinci" |
(Optional) The citation of the quote, will be shown underneath it |
| citelink | (empty) | citelink="http://www.example.com" |
(Optional) The citation will link to this URL |
Examples
[pullquote]Simplicity is the ultimate sophistication.[/pullquote]
[pullquote align="right" cite="Leonardo da Vinci" citelink="http://www.example.com"]Simplicity is the ultimate sophistication.[/pullquote]
Boxes
The box shortcode allows you to display a message box or other boxed content. The content of your box should be between the opening and closing shortcodes. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| type | basic | type="success" |
The type of box will determine how it looks
|
| align | (empty) | align="left" |
The box alignment within your page |
| width | (empty) | width="200px" |
The CSS width of the box in pixels, e.g. "200px" or "30%" |
Examples
[box]This is a basic box[/box]
[box type="success" width="300px" align="center"]Lorem ipsum dolor sit amet.[/box]
Section break
The button shortcode allows you to display breaks between content sections. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| type | small | type="big" |
The type of break will determine how it looks
|
Examples
[section_break]
[section_break type="big"]
Buttons
The button shortcode allows you to display a clickable button. The button text should be between the opening and closing shortcodes. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| style | style1 | style="style2" |
The type of box will determine how it looks
|
| href | (empty) | href="http://www.example.com" |
The destination URL |
| popup | 0 | popup="1" |
The link will open in a new tab/window |
Examples
[button href="http://www.example.com"]Click me[/button]
[button href="http://www.example.com" style="style3" popup="1"]Click me[/button]
Lists
The list shortcode allows you to display a list of items. The list HTML should be between the opening and closing shortcodes. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| style | bullet | style="tick" |
The type of box will determine how it looks
|
| layout | stacked | layout="inline" |
The layout determines the layout of the list items
|
Example
[list style="tick" layout="inline"]<ul>
<li>Example>/li>
<li>Example>/li>
</ul>[/list]
Menus
The menu shortcode allows you to display a list of navigation links. The menu HTML should be between the opening and closing shortcodes. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| style | bullet | style="tick" |
The type of box will determine how it looks
|
| layout | stacked | layout="inline" |
The layout determines the layout of the list items
|
Example
[menu style="tick" layout="inline"]<ul>
<li><a href="http://www.example.com">Example</a>>/li>
<li><a href="http://www.example.com">Example</a>>/li>
</ul>[/menu]
Tables
The table shortcode allows you to display a styled table. The table HTML should be between the opening and closing shortcodes. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| id | (empty) | id="my_table" |
Set the id attribute of the wrapper div surrounding the table |
| width | (empty) | width="200px" |
Set the CSS width of the table |
Example
[table id="my_table" width="250px"]<table>
<tr>
<td>Column 1 heading</td>
<td>Column 2 heading</td>
</tr>
<tr>
<td>Cell 1-1</td>
<td>Cell 1-2</td>
</tr>
<tr>
<td>Cell 2-1</td>
<td>Cell 2-2</td>
</tr>
</table>[/table]
Dropcaps
The dropcap shortcode allows you to display a character in dropcap format. The character should be between the opening and closing shortcodes. There are no options for this shortcode.
Example
[dropcap]A[/dropcap]
Tabs
The tabs shortcode allows you to display tabbed content. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| animation | (empty) | animation="sliding" |
Choose the animation of the tabs
|
| width | (empty) | width="200px" |
Set the CSS width of the table |
Example
[tabs animation="sliding" width="400px"] [tab title="Tab 1 title"]Tab 1 content[/tab] [tab title="Tab 2 title"]Tab 2 content[/tab] [/tabs]
Toggles
The toggle shortcode allows you to display collapsing content. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| width | (empty) | width="200px" |
Set the CSS width of the toggles |
Example
[toggle width="400px"] [toggle_content title="Toggle 1 title"]Toggle 1 content[/toggle_content] [toggle_content title="Toggle 2 title"]Toggle 2 content[/toggle_content] [/toggle]
Accordion
The accordion shortcode allows you to display collapsing content groups where only one panel is shown at a time. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| width | (empty) | width="200px" |
Set the CSS width of the accordion |
Example
[accordion width="400px"] [accordion_toggle title="Toggle 1 title"]Toggle 1 content[/accordion_toggle] [accordion_toggle title="Toggle 2 title"]Toggle 2 content[/accordion_toggle] [/accordion]
Cycle
The cycle shortcode allows you to display cycling content slides. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| controls | 1 | controls="0" |
Display the controls |
| fx | fade | fx="scrollHorz" |
The transition fx, see Cycle Effects Browser |
| speed_in | 1000 | speed_in="1000" |
The speed of the "in" transition in milliseconds |
| speed_out | 0 | speed_out="1000" |
The speed of the "out" transition in milliseconds |
| timeout | 0 | timeout="5000" |
How long to display each slide in milliseconds, set to 0 to disable auto advance |
| width | 0 | width="300" |
Container width, set to 0 for full width |
| height | 0 | width="200" |
Container height, set to 0 for auto height |
Example
[cycle fx="scrollHorz" speed_in="1000" speed_out="1000" timeout="5000" width="300" height="150"] [cycle_slide]This is one slide[/cycle_slide] [cycle_slide]<img src="example.png" alt="An image" />[/cycle_slide] [/cycle]
Image
The image shortcode allows you to display an image. The content between the opening and closing shortcode is the image URL. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| width | (empty) | width="200" |
Resize the image to the given width. If empty, the original image width will be used. |
| height | (empty) | height="150" |
Resize the image to the given height. If empty, the original image height will be used. |
| alt | (empty) | alt="My image" |
The alt attribute of the img tag |
| title | (empty) | title="My image" |
The title attribute of the img tag |
| id | (empty) | id="my_image" |
The id attribute of the img tag |
| class | (empty) | class="my_class" |
The class attribute of the img tag |
Examples
[image alt="My image"]http://www.example.com/image.png[/image]
[image alt="My image" width="200" height="150"]http://www.example.com/image.png[/image]
Image Frames
The image frame shortcode allows you to display a stylish frame around images. The img tag or [image] shortcode should go between the opening and closing shortcode. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| type | style1 | type="style2" |
The image frame style
|
Examples
[image_frame type="style3"]<img src="http://www.example.com/image.png" alt="Image" />[/image_frame]
[image_frame type="style3"][image alt="My image"]http://www.example.com/image.png[/image][/image_frame]
Galleria
The galleria shortcode allows you to display a gallery of images using the Galleria script. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| transition | fade | transition="flash" |
The transition animation type
|
| speed | 5000 | speed="4000" |
The slideshow interval in milliseconds |
| width | 0 | width="500" |
Set a fixed width of the gallery, if 0 it will fill the content area |
| height | 0 | height="300" |
Set a fixed height of the gallery, if 0 it will be set automatically |
| image_crop | 0 | image_crop="1" |
Defines how the main image will be cropped inside its container. See the Galleria documentation.
|
| show_counter | 0 | show_counter="1" |
Show the image counter |
| show_imagenav | 0 | show_imagenav="1" |
Show image navigation |
| pause_on_interaction | 1 | pause_on_interaction="0" |
The slideshow will pause when the user interacts with the gallery |
| lightbox | 0 | lightbox="1" |
Use a lightbox when the user clicks on an image |
Example
[galleria transition="flash" lightbox="1" width="500"] <img src="http://www.example.com/image1.png" alt="Image 1" /> <img src="http://www.example.com/image2.png" alt="Image 2" /> <img src="http://www.example.com/image3.png" alt="Image 3" /> [/galleria]
Fancy Headers
The fancy header shortcode allows you to display stylish headings. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| type | style1 | type="style2" |
The header style
|
Example
[fancy_header type="style2"]My heading[/fancy_header]
Impact Headers
The impact header shortcode allows you to display big impact headings. The text between the opening a closing shortcodes is the header text. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| type | only-heading | type="heading-subheading-button" |
The header type
|
| subheading | (empty) | subheading="This is a subheading" | The subheading shows below the main heading |
| button_text | (empty) | button_text="Click me" | The button text |
| button_link | (empty) | button_link="http://www.example.com" | The destination URL of the button |
| button_external | 0 | button_external="1" | Open the destination URL in a new tab/window, 1 = true, 0 = false |
Example
[impact_header type="heading-subheading-button" subheading="This is a subheading" button_text="Click me" button_link="http://www.example.com"]
Heading text is here
[/impact_header]
Note Block
The note block shortcode allows you to display a left/right aligned note block for content. The text/HTML between the opening a closing shortcodes is the content. The options for this shortcode are shown below.
| Option | Default | Example | Description |
|---|---|---|---|
| align | left | align="right" |
The block alignment
|
Example
[note_block align="right"]
<p>This is some content.</p>
[/note_block]
WidgetsTop
Widgets are small parts of content or tools that can be used in any specified widget area. There are 4 widget areas in the theme. The theme comes with 9 widgets, one of which is a shortcode widget, which allows you to build and use any shortcodes inside it.
Widget areas
- Page Sidebar - the sidebar on pages
- Blog Sidebar - the sidebar on blog posts
- Portfolio Sidebar - the sidebar on porfolio item pages
- Footer Boxes - footer popup boxes
Shortcode widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag
the widget with the title Storm - Shortcode to your widget area. You can use the
built-in shortcode generator by clicking the
icon.
See the shortcodes section for more information about using shortcodes.
Contact Details widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag the widget with the title Storm - Contact Details to your widget area. You can enter the contact details for your website.
Facebook widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag the widget with the title Storm - Facebook to your widget area. This widget will add a Facebook "Like Box", enter your settings in the fields.
Opening Times widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag the widget with the title Storm - Opening Times to your widget area. This widget will display opening times, enter your settings in the fields.
Popular Posts widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag the widget with the title Storm - Popular Posts to your widget area. This widget will display a list of posts with the most comments, enter your settings in the fields.
Recent Posts widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag the widget with the title Storm - Recent Posts to your widget area. This widget will display your most recent posts, enter your settings in the fields.
Related Posts widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag the widget with the title Storm - Related Posts to your widget area. This widget will display posts related to the post the user is viewing, enter your settings in the fields.
Social Icons widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag the widget with the title Storm - Social Icons to your widget area. This widget will display social icons with links to, enter your settings in the fields.
For the RSS feed you can enter the URL of your blog with ?feed=rss2 at the end, for example.
http://www.example.com/?feed=rss2
Twitter widget
To add this widget, go to Appearance → Widgets on the WordPress menu and drag the widget with the title Storm - Twitter to your widget area. This widget will display a list of your recent tweets, enter your settings in the fields.
How do I ... ?Top
This section contains various guides on how get the theme do do what you want.
Use the WP-PageNavi plugin
The theme has support for the WP-PageNavi plugin. Once you've installed the plugin, go to the WP-PageNavi plguin settings and untick Use pagenavi-css.css. We have included our own CSS with the theme to make the pagination look good. The theme will automatically detect that you have installed the plugin and use it where relevant.
Add custom CSS
You can add custom CSS inside the theme options panel at Advanced → Custom CSS.
Storm has one main stylesheet style.css in the theme root folder, you can make any adjustments in this file.
The file is split into sections by numbered comments and the file has a table
of contents at the top to help you find the right section. We recommend adding custom styles in section
Custom at the very bottom of the CSS file.
Add custom JavaScript
You can add custom JavaScript inside the theme options panel at Advanced → Custom JS. Any code entered here is executed inside
the function jQuery(document).ready(function($) { ... your code will be placed here ... });. So the DOM will be ready and you can access the
jQuery option with the $ sign.
You can edit the theme JavaScript if required in the file js/scripts.js.
Change the form settings
Each form in the plugin is configurable through the Quform plugin. To edit your existing forms, go to Quform → Forms on the WordPress menu. Hover the form you want to edit and click Edit. Help for the Quform plugin is available at Quform → Help on the WordPress menu.
Change the Cufon fonts to support additional characters
The Cufon font files have a set number of supported characters when they are generated. We included a limited number of supported characters to keep the file size small. To add further characters you will need to re-generate the Cufon font file from the base font file. We have included the base font files in the resources/fonts/ folder for this purpose. Go to http://cufon.shoqolate.com/generate/, at the Regular typeface upload field, choose your base font file from the resources/fonts/ folder. Fill out the rest of the form, for the Include the following glyphs (if available) section, choose the extra characters you need. When we generated the fonts, the following options were ticked:
- Uppercase
- Lowercase
- Numerals
- Punctuation
- WordPress punctuation
- Basic Latin
- Latin-1 Supplement
So tick any extra options and click Let's do this!. Download the file once it's been generated, and upload the file to your site in the folder wp-content/themes/storm/fonts/ and replace the original file.
Change the Google fonts to support additional characters
The Google fonts we've included are set to use the basic latin character set. If you want to support characters from other languages you'll need to modify the includes/framework.php file and specify which other subsets you want to use for your chosen font. In the file search for subset, you be taken to the subset for the first Google font, find the font you are using from the array below this. Modify the string 'latin' and add addtional subsets after this separated by a comma, the available subsets for each font are shown and were correct at the time of writing. Some fonts do not have any other subsets available. For example to add the Latin Extended subset to the Dosis font, make the change highlighted in the code below.
'dosis' => array(
'type' => 'google',
'name' => 'Dosis',
'family' => 'Dosis',
'subset' => 'latin,latin-ext' // also available: latin-ext
),
Add my own Cufon fonts
To add your own Cufon fonts so that you can select it in the options panel for use, there are a few things you need to do.
- 1. Convert your font to a Cufon font JavaScript file
- 2. Put your font JavaScript file into the fonts directory
- 3. Add a PHP function to add your new font to the system
Each step is explained in more detail below.
1. Convert your font to a Cufon font JavaScript file
Go to the Cufon website and upload your font. Fill out the rest of the form and submit it and download the file.
2. Put your font JavaScript file into the fonts directory
Upload the font file to the directory /wp-content/themes/storm/fonts/
3. Add a PHP function to add your new font to the system
Add the following code to the theme functions.php file and we'll then customize it for your specific font. The example below is for the PR Celtic Narrow font.
add_filter('tcr_fonts', 'mytheme_add_fonts', 10, 1);
function mytheme_add_fonts($fonts)
{
$fonts['celtic_narrow'] = array(
'type' => 'cufon',
'name' => 'PR_Celtic_Narrow_400',
'family' => 'PR Celtic Narrow'
);
return $fonts;
}
The highlighted parts should be changed as follows:
- Change celtic_narrow to a unique name for your font, lowercase and spaces changed to underscore, it can be anything.
- Change PR_Celtic_Narrow_400 to the name of the font file, everything before the
.font.jspart of the filename - Change PR Celtic Narrow to the name of the font family, you can find this by opening your Cufon .font.js file in a text editor as shown in the image below.

Your font will now be available to choose in the theme options panel at Global → Fonts

Add my own Google fonts
To add your own Google fonts so that you can select it in the options panel for use, you will need to add a PHP function to add your new font to the system.
Add the following code to the theme functions.php file and we'll then customize it for your specific font. The example below is for the Life Savers font.
add_filter('tcr_fonts', 'mytheme_add_fonts', 10, 1);
function mytheme_add_fonts($fonts)
{
$fonts['life_savers'] = array(
'type' => 'google',
'name' => 'Life+Savers',
'family' => 'Life Savers',
'subset' => 'latin'
);
return $fonts;
}
The highlighted parts should be changed as follows:
- Change life_savers to a unique name for your font, lowercase and spaces changed to underscore, it can be anything.
- Change Life+Savers to the name of the font in the CSS link href that is shown on the Google font page, see the image below.

- Change Life Savers to the name of the font family that is shown on the Google font page, as shown
in the image below.

Your font will now be available to choose in the theme options panel at Global → Fonts

Change what is affected by the color settings in the theme options panel
You will need to edit the file /storm/admin/includes/custom-css.php, you will see a large number of CSS selectors above the line with the code:
{color: ;}
Edit the CSS selectors to suit. You will then need to go to the theme options panel and press Save, this will update the cached custom CSS file with your changes.
Hide the background image slideshow controls
In the theme stylesheet add the following CSS.
#fs-controls {
display: none !important;
}
Hide the background video controls
In the theme stylesheet add the following CSS.
#video-controls {
display: none !important;
}
Hide the audio controls
In the theme stylesheet add the following CSS.
#audio-controls {
display: none !important;
}
Change the portfolio item ordering
When using the portfolio shortcde you can specify how they are ordered, see the Portfolio shortcode section. By default they are ordered by
menu_order which means you can manually specify the ordering when editing the portfolio item. To set the menu_order, when editing
or adding a portfolio item you will see a box on the right hand side named Attributes.

Enter a number in the box under Order, this field will then be used to order the portfolio items when they
are set to order by menu_order.
Set up a site like the Storm live preview (demo)
We have included an export of the preview site as an XML that you can use to quickly set up the same site. The export file is at resources/demo.xml. Inside WordPress, go to Tools → Import, click WordPress from the list and follow the steps to install the WordPress Importer plugin. You will end up at a page with a file upload field, choose the file resources/demo.xml from the Downloaded package and import it.
Another step you may need to perform is to set up the WordPress menu. Go to Appearance → Menus and in the top left of the page you will see a box named Theme Locations, select Main from the drop down and click Save.

Set up a static homepage
Inside WordPress, go to Settings → Reading, at Front page displays choose A static page (select below). Choose the pages to be your Front page and Blog page. You will need to creates these pages first before you can select them here.

Set up random videos
To set up random videos you will need to add a PHP function, it doesn't matter what you set in the theme options panel, we will override the settings in the PHP function. In the theme functions.php file, add the following code and modify it to suit.
add_filter('tcr_video', 'mytheme_random_video', 10, 1);
function mytheme_random_video($video)
{
// Set up the list of available videos
$videos = array(
// Video #1:
array(
'url' => 'http://vimeo.com/45878034',
'autostart' => true,
'complete' => 'restart',
'width' => 1920,
'height' => 1080,
'start' => 0
),
// Video #2:
array(
'url' => 'http://vimeo.com/47015825',
'autostart' => true,
'complete' => 'restart',
'width' => 1920,
'height' => 1080,
'start' => 0
),
// Video #3:
array(
'url' => 'http://www.youtube.com/watch?v=T82LpzWEx7U',
'autostart' => true,
'complete' => 'restart',
'width' => 640,
'height' => 360,
'start' => 0
),
);
// Return a random one
return $videos[array_rand($videos)];
}
In this code we set up an array with the configuration for 3 videos, and return a random one. Each time the page is loaded a random video will be picked from this list. You can add more videos by adding another configuration array for another video. The configuration array for each video should be set up like so:
array(
'url' => 'http://www.youtube.com/watch?v=T82LpzWEx7U', // The URL to the video
'autostart' => true, // Start the video automatically, true or false
'complete' => 'restart', // What to do when finished playing, 'none', 'hide', 'restart'
'width' => 640, // The width of the original video (see below)
'height' => 360, // The height of the original video (see below)
'start' => 0 // The start position of the video in seconds
),
The width and height are used to scale the video accurately. Use the instructions below to find the dimensions for each video.
Find the width/height of the video (Vimeo)
The Storm theme has built in functionality to find the width/height of a Vimeo video. If you go to the theme options panel, then Background → Video. In the Video URL field, paste in the URL to your video then click off (blur) the field. The width and height of the video will appear in the Video dimensions. Navigate to another page without saving to avoid saving any permanent changes.
Find the width/height of the video (YouTube)
You will need to find the dimensions manually, If you go to the theme options panel, then Background → Video. In the Video dimensions field, see the description on the right hand side and click the link find the dimensions manually for instructions.
TranslationTop
There are two methods of translating your website, you can translate all frontend text from inside the theme options panel, or you can create a translation file which we could then share with other theme users. The backend theme options can be translated by creating a translation file.
Translating from the theme options panel (frontend)
You can translate all frontend text from inside the theme options panel at the Translate → Translations tab. Enter your translation of the text on the right hand side into the text input field.

Translating the theme using Poedit (frontend & backend)
The theme includes two translation files, one for frontend strings (what visitors will see on your site) and one for backend strings (what admins will see when editing the theme options).
- /languages/storm.pot - for the frontend
- /admin/languages/storm_admin.pot - for the backend
You can translate either one or both if required. You can use these files along with translating software such as Poedit to translate the theme. Please follow the instructions below to translate the theme
What you will need
- Translation software to read .pot files and save translations as .mo files, we recommend Poedit
- The theme and translation files which you can find at /languages/storm.pot and /admin/languages/storm_admin.pot inside the theme files
- Your WordPress locale code which you can find at http://codex.wordpress.org/WordPress_in_Your_Language.
After the section title of each language, in brackets, you'll find the locale code. For example:
- For Polish the locale code is
pl_PL - For Spanish the locale code is
es_ES - For German the locale code is
de_DE
- For Polish the locale code is
Step 1
Download and install Poedit or a similar translation tool. Click here to go to the Poedit download page. Once you've installed Poedit, run the program. If this is your first time running Poedit, you'll be prompted to enter your name and email address. This information is added to the top of the translated files as the last translator. You can leave these blank if you'd rather not enter them. Press OK.
Step 2
On the Poedit menu, go to File then New catalog from .POT file. and open the file /languages/storm.pot if you are translating
the frontend or /admin/languages/storm_admin.pot if you are translating the backend.

Step 3
A Settings dialog box will appear, fill out the information.
- Project name and version - this should be automatically filled out
- Team - set this to the name of your translation team or leave it blank
- Team's email address - set this to the email address of your translation team or leave it blank
- Language - select the language you intend to translate to
- Country - select the country of the above language
- Charset - select the character set of the translation or leave it at utf-8
- Source code charset - set it to utf-8
- Plural forms - IMPORTANT set this to the plural form setting for your language, you can find your plural form setting on this page

Step 4
You'll now be prompted to save the file as a .po file. You will need to change the filename to be the following.
- For frontend translations (storm.pot) the file name should be
[LOCALE_CODE].poand saved into the /languages/ folder, for example:- For Polish, save the file as
/languages/pl_PL.po - For Spanish, save the file as
/languages/es_ES.po - For German, save the file as
/languages/de_DE.po
- For Polish, save the file as
- For backend translations (storm_admin.pot) the file name should be
[LOCALE_CODE].poand saved into the /admin/languages/ folder, for example:- For Polish, save the file as
/admin/languages/pl_PL.po - For Spanish, save the file as
/admin/languages/es_ES.po - For German, save the file as
/admin/languages/de_DE.po
- For Polish, save the file as
Step 5
When the file loads, you should see the list of text strings needing translated. If you look at the bottom, you should see 2 boxes, one containing the text needing translated and an empty box below it. In the empty box, enter your translation.
You can use the shortcut key Ctrl + Down Arrow to jump to the next translation. If the translation is the same in both languages, you can right-click the string and select Copy original to translation field.
Continue this process until the translation is complete.
Unusual characters combinations (formatting placeholders)
If you have never done a translation before, you may notice some odd looking character combinations, such as %s \n \t %1$s,
these are formatting placeholders and they should remain inside the translated string, in exactly the same position if possible. Also double quotes will have a backslash
before them \" and they should remain this way in your translation.
Finding more information or context of a string
If you need to find out the context of a string so that you can accurately translate it, you can right-click it and under References, click one of the filenames, this will open the file and show where the string appears in the code. You may be able to figure it out from there.
Step 6
Save the file, Poedit should create another file ending in .mo in the same place as your .po file. So you should have two files that should be in
the /languages/ folder, for frontend translations, or in the/admin/languages/ folder for backend translations:
[LOCALE_CODE].po[LOCALE_CODE].mo
Step 7
If you haven't done so already, you should set up WordPress to use your locale. Open the file wp-config.php, found in the WordPress root folder.
Find the line that looks like this:
define('WPLANG', '');
Inside the empty single quotes, enter your WordPress locale, for example:
define('WPLANG', 'pl_PL');
Once this step has been done, the theme should be translated inside WordPress, congratulations!
Share your translation?
ThemeCatcher invites you to share your translations with others. If you wouldn't mind contributing to make Storm an even more awesome theme, please send us your translated .mo and .po files to info@themecatcher.net. Thanks for contributing :)
Third party scriptsTop
Third party scripts
The following third party scripts are used by this template.
- jQuery JavaScript library
- FancyBox
- Galleria
- jQuery Cookie
- HoverIntent
- Superfish
- Quicksand
- jQuery CSS Transform
- jQuery CSS Rotate Scale
- jQuery Tools Tabs
- jQuery Easing
- jQuery Actual
- jQuery Cycle
- Cufon
- qTip2
- jQuery Regexp Classes
- Timthumb
- jPlayer
- jQuery throttle / debounce
- In Field Labels
- Smooth Scroll
- jquery.slider
- Chosen
- jQuery Tweet
- Console Dummy
- Color Picker
- jQuery Tweet
- jQuery Tweet
AdvancedTop
List of custom filter hooks
The custom filter hooks can be used to modify specific parts of the theme on any specified context (see the Hook contexts section below). The syntax of the hook name is:
tcr_{context}_{tag}
You can use any of the tags in the table below for the {tag} part of the hook name, you can find the {context} you want in the Hook contexts section. See the examples below the table and it should hopefully make sense.
| Tag | Date type | Description |
|---|---|---|
| sticky_header | boolean | Enable sticky navigation |
| header_style | string | 'standard-header' or 'header_no_stretch' |
| footer_position | string | 'fixed' or 'absolute' |
| serene_options | array | The full screen gallery options, see the portfolio help section |
| background_options | array | The background image options, see the help section Different background image settings per page (advanced) |
| logo_url | string | The URL that the logo should link to |
| intro_title | string | The title text in the introuction section |
| intro_subtitle | string | The subtitle text in the introuction section |
| intro_style | string | The style of the intro section, one of: 'disabled', 'transparent-intro', 'black-transparent-intro' |
| intro | string | The HTML of the intro section, shortcodes are parsed inside it |
| content_style | string | The style of the content area, one of: 'plain-black', 'full-width-transparent' |
| layout | string | The page layout, one of: 'left-sidebar', 'full-width', 'right-sidebar' |
| font | array | The font configuration (see includes/framework.php for available fonts), e.g.
'type' => 'cufon',
'name' => 'Comfortaa',
'family' => 'Comfortaa',
'selector' => 'h1, h2, h3'
) |
| author_bio_avatar_size | number | The size of the author avatar image in pixels on the author bio |
| blog_featured_image | boolean | Show the featured image on single posts |
| blog_featured_image_type | string | The type of featured image on single posts, one of: 'full', 'left', 'right' |
| portfolio_featured_image | string | Show the featured image on single portfolio pages |
| status_avatar | number | The size of the author avatar image in pixels on the list of status format posts |
| video | array | The configuration array for all videos |
| video_vimeo | array | The configuration array for Vimeo videos |
| video_youtube | array | The configuration array for YouTube videos |
Examples
The code should be added to wp-content/themes/storm/functions.php
Change the layout on all archive pages
add_filter('tcr_archive_layout', 'tcr_set_archive_layout');
function tcr_set_archive_layout($layout)
{
return 'full-width';
}
Change the featured image type for a single post (post ID 15)
add_filter('tcr_singular-post-15_blog_featured_image_type', 'tcr_set_post15_image_type');
function tcr_set_post15_image_type($type)
{
return 'left';
}
Disable the sticky header on portfolio pages
add_filter('tcr_singular-portfolio_sticky_header', '__return_false');
List of custom action hooks
The custom action hooks can be used to output content in specific parts of the theme on any specified context (see the Hook contexts section below). The syntax of the hook name is:
tcr_{context}_{tag}
You can use any of the tags in the table below for the {tag} part of the hook name, you can find the {context} you want in the Hook contexts section. See the examples below the table and it should hopefully make sense. You may want to look in header.php and footer.php to see exactly where the hooks are within the source.
| Tag | Description |
|---|---|
| head | In the <head> section |
| body_start | Immediately after the opening <body> tag |
| header | Before the page header |
| after_header | After the page header |
| before_content_style | Before the content style wrapper |
| before_content | Before the page content |
| after_content_style | After the content style wrapper |
| after_content | After the page content |
| sidebar_start | Before the sidebar |
| sidebar_end | After the sidebar |
| before_footer | Before the footer |
| footer | Inside the footer |
| after_footer | After the footer |
| body_end | Immediately before the closing </body> tag |
Examples
Add a subscribe form content after all single posts
add_action('tcr_singular-post_after_content', 'tcr_add_subscribe_form');
function tcr_add_subscribe_form()
{
if (function_exists('iphorm')) {
$output = '<h2>Thanks for reading, why not subscribe for updates?</h2>';
$output .= iphorm(2);
return $output;
}
}
Hook contexts
The contexts below can be used to change any of the above hooks in a lot of different sitations. The syntax of the hook name is:
tcr_{context}_{tag}
You can find {context} in the table below and {tag} from the two sections above.
| Context | When it's used |
|---|---|
| home | on the front page of the site |
| blog | on the blog page |
| singular | viewing a singular post/page |
| singular-{post_type} | viewing a singular post of type {post_type}, e.g. singular-page, singular-post etc |
| singular-{post_type}-{post_id} | viewing a singular post of type {post_type} with the ID {post_id}, e.g. singular-post-12 |
| archive | on archive pages |
| taxonomy | on taxonomy archives, i.e. categories and tags |
| taxonomy-{taxonomy_type} | on taxonomy archives of {taxonomy-type}, e.g. taxonomy-post_tag |
| taxonomy-{taxonomy_type}-{term_slug} | on taxonomy archives of {taxonomy-type} for {term_slug}, e.g. taxonomy-post_tag-funny |
| archive-{post_type} | on archives for {post_type}, e.g. archive-page |
| user | on author archives |
| user-{nicename} | on author archives for {nicename}, e.g. user-admin |
| date | on date archives |
| year | on year archives |
| month | on month archives |
| week | on week archives |
| day | on day archives |
| time | on time archives |
| hour | on hour archives |
| minute | on minute archives |
| search | on search results |
| error-404 | on error 404 pages |
SupportTop
For additional help you may contact us using the form on our ThemeForest profile page. You must be logged in to ThemeForest to see the contact form.