StartApp WordPress Theme


1. Getting Started

2. Theme and Plugins installation

3. Demo Import

4. Theme Options / Customization

5. Theme Options: How to set up a Page Title

6. Theme Options: How to customize a Footer

7. Menus

8. Menus: Creating a Scroller Menu

9. Menus: Anchored navigation

10. Menus: Mega Menu

11. Widgets

12. Shortcodes

13. Theme Update

14. Advanced

15. Advanced: Child theme

16. Advanced: How to use custom icons in shortcodes?

17. Advanced: Cache in shortcodes

18. Advanced: How to enable unsupported Visual Composer shortcodes?

19. Advanced: How to modify shortcode template?

20. Advanced: How to modify shortcode mapping?

21. Troubleshooting

22. Troubleshooting: The theme is missing the style.css stylesheet

23. Troubleshooting: Can't install plugins

24. Troubleshooting: Enabling WP_DEBUG in WordPress

25. Troubleshooting: Importing demo doesn't work

26. Troubleshooting: Are you sure you want to do this?

1. Getting Started

Thank you for purchasing our theme. We are happy that you are one of our customers and we assure you won't be disappointed. We do our best to produce top notch themes with great functionality, premium designs and human readable code. Before you get started we highly encourage you to get familiar with this documentation. Spending half an hour reading the manual may save a lot of your time and avoid questions with obvious answers.

Table of Contents

  1. Theme and Plugins installation
  2. Demo Import
  3. Theme Options / Customization
    1. How to set up a Page Title
    2. How to customize a Footer?
  4. Menus
    1. Creating a Scroller Menu
    2. Anchored navigation
    3. Mega Menu
  5. Widgets
  6. Shortcodes
  7. Theme Update
  8. Advanced
    1. Child theme
    2. How to use custom icons in shortcodes?
    3. How to modify shortcode mapping?
    4. How to modify shortcode template?
    5. Cache in shortcodes
    6. How to enable unsupported Visual Composer shortcodes?
  9. Troubleshooting
    1. Enabling WP_DEBUG in WordPress
    2. The theme is missing the style.css stylesheet
    3. Are you sure you want to do this?
    4. Importing demo doesn't work
    5. Can't install plugins

Next: Theme and Plugins installation

2. Theme and Plugins installation


Step 1. Downloading

Before installing the theme you need to download installable files. On ThemeForest go to your Profile > Downloads. Then find theme in the list and download "Installable WordPress file only" to get only a theme. Alternatively you can download "All files & documentation" if you need all package, including the demo, documentation, etc. Download button is shown on screenshot below.

Step 2. Check web hosting specs

Please make sure your server complies with the requirements below:

To safeguard your website always use secure passwords and the latest version of WordPress and plugins.

WordPress needs resources to work properly and these resources are allocated based on the server configuration. The recommended values are:

memory_limit 256MB
max_execution_time 180
max_input_time 60
file_uploads On
max_file_uploads 20
post_max_size 32MB
upload_max_filesize 32MB

Setting these values will ensure you won't get an error reporting that your upload and post memory limit is too low. Also this is required for importing process.

If you are running shared web hosting, you should contact your web hosting service provider to find more information about that. If you are running a dedicated server or VPS, you should check your php.ini file.

Also do not forget to add these values to your wp-config.php 


This will allow WordPress to consume more resources.

More information on the subject here

We recommend following hosting providers:

Step 3. Install Theme

For more information about using themes visit the WordPress Codex.

Install via the WordPress:

  1. Log in to the WordPress Administration Panels
  2. Select the Appearance, then Themes
  3. Click Add New
  4. Click Upload Theme
  5. Choose the Installable WordPress file archive and press "Install Now"
  6. After installing a theme, roll over the theme thumbnail and click the Activate button.
Install theme

Activate theme

Install via the FTP:

  1. Unzip the installable archive and use the extracted theme folder
  2. Log into your web server with FTP client software
  3. Upload the extracted theme folder into /wp-content/themes folder
  4. Activate the newly installed theme. Go to Appearance > Themes and activate it.

Problems with theme installation? See Troubleshooting

Step 4. Install Plugins

By default theme is only a skin for a blog. But if you want even more elements, be able to customize theme and build pages with flexible page builder you have to install plugins. 

After the theme's activation you will be prompted to install plugins. All these plugins are bundled with the theme or optionally can be installed from the repository. The theme can function without any of these plugins. But if you want to get most of our theme you should install the required plugins.

Our theme requires plugins:

To install plugins just click the "Begin installing plugins" link. Then check all plugins or just required, select Install in the dropdown menu and press "Apply" button.

Read more in codex about managing plugins. If you have problems with installing plugins please see our Troubleshooting section.

Previous: Getting Started :: Next: Demo Import

3. Demo Import

If you want your website looks like on demo page, you have to import demo content. This is a good idea if you are building your website from scratch. However, if you have an existing website, you should be very careful with plugin installation and importing demo - this may effect your site content and structure.

First, make sure you have installed and activated Guild Importer plugin. After activation you will see a new option Demo Import in StartApp dashboard menu. 

Here you will be able to select a specific demo you want to import. After that the only thing left is to click the Import button.


We recommend to run importer on clean WordPress installation. You can find WordPress all demo files in the Full Theme Package on the ThemeForest in Demo folder.

Any problems importing demo? Please check our troubleshooting section first!

Previous: Theme and Plugins installation :: Next: Theme Options / Customization

4. Theme Options / Customization

The whole theme customization process comprise of 2 main parts:

  1. Global Theme Options
  2. Local Page Settings

NOTE: to be able to use Theme Options make sure you have Equip and Equip SASS plugins installed and activated.

Theme Options

Page Settings

Part of Theme Options we duplicated inside Page Settings meta box, which you can find at the most bottom of your page, post or portfolio. These settings have a priority over the Theme Options meaning you can add unique customization to every single page.

Related articles

Previous: Demo Import :: Contents :: Next: Menus

5. Theme Options: How to set up a Page Title

Page Title is the most top block of your page. It is placed right under the header.

StartApp contains a various settings to customize the Page Title. You can find them inside the Page Settings meta box on the editable page within your WordPress Dashboard.

You may be interested what is "Default" value of some options? What does it mean? The "Default" option value refers to Theme Options > Header > Page Title options. When you select "Default" option this treat as "Take the value of similar option from Theme Options". This may be very useful, because you can disable Page Title globally for every existing and new pages. Or change the default page title size. No need to edit every page and change those boring options.

Let's look in more detail at each setting:

(1) Is the name of your page. Which you specify when creating a new page.

(2) The breadcrumbs. StartApp uses Breadcrumb NavXT plugin to manage the breadcrumbs. Just install and activate the plugin and breadcrumbs will appear automatically. This plugin has its own settings to control breadcrumbs appearance and behaviour.

(3) The background image. You can use the Page Title Background Image option within the Page Settings meta box to upload you custom background image.

Other settings explanation:

In version 1.1.0 we add 2 new options to Page Title settings:

Go back to :: Theme Options / Customizations

6. Theme Options: How to customize a Footer

Footer in StartApp is built with widgets. We divided footer into three rows. First and second row contains the sidebars and can be filled with widgets. The last row is a copyright area. The number of sidebars depends on Footer Layout. You can find this option in Theme Options > Footer > Layout.

Let's take a closer look how sidebars are generated. For example when you choose the layout "4 + 2 Columns" you will get the four sidebars in the first row and two in the second. When you save options in Appearance > Widgets menu you will find the Footer Column 1 - 6. Numbering starts from the top left. That's why if you want to add a widget to the first column of a bottom row you should use the Footer Column 5 sidebar.

NOTE: The copyright section is present in any layout.

Go back to :: Theme Options / Customizations

7. Menus

StartApp includes 4 menu locations:


Used for primary navigation in the header. We call this area Navbar.

Another type of header, but still the Primary menu location:


Used for secondary navigation in the header. NOTE: you have to choose the header type which supports Topbar to see menus attached to this location.


Used for secondary menu in the bottom right side of your site.


Used in the middle of the page. Position (left or right) can be selected in Theme Options. This menu provides a nice and smooth animation, thus is a best option for Landing Pages. Note: scroller menu works only within one page.

Related atricles

Previous: Theme Options / Customization :: Contents :: Next: Widgets

8. Menus: Creating a Scroller Menu

To create a Scroller navigation follow this steps:

(1) Create Row and specify the Row ID

Important: Do NOT add the # symbol to your ID, it isn’t necessary, just give it a unique name. Also note the Offset Top option. With this option you can control how far it will occur from the top of the page when scrolled to this row.

(2) Create a new menu and add custom links for each menu item. The main idea is that each menu item should point to a row with specified Row ID options. To URL field add your Row ID you are linking to with leading # symbol.

(3) Assign this menu to Scroller location

(4) Enable the Scroller and choose the page where the Scroller navigation will shown. In your Dashboard go to StartApp > Theme Options > Header > Scroller. In this section enable Scroller and choose a page from the dropdown list. Optionally you can change the position.

Menus :: Next: Anchored navigation

9. Menus: Anchored navigation

Anchored navigation was designed for One Page site layouts (for example Landing Page, etc). Meaning it's not going to work on any other page besides the one it is initially used for. If you enabled anchored navigation for certain menu item please consider that it works only within the page which contains the section with relevant ID.

You can add anchored menu items in any menu and it will work. Anchored menu acts like a scroller navigation with one difference - it still looks like a normal menu! So you have an alternative if you don't like/want scroller navigation. 

Enabling anchored navigation is pretty similar to Scroller navigation:

(1) Create Row and specify the Row ID

(2) Create a new menu and add custom links for each menu item. To URL field add your Row ID you are linking to with leading # symbol.

(3) Enable option Link to Anchor

(4) Assign this menu to any location, except Scroller. You may have unexpected issues mixing this two features.

Previous: Creating a Scroller Menu :: Menus :: Next: Mega Menu

10. Menus: Mega Menu

In StartApp mega menu is built with sidebars and widgets. Here some examples from our demo. SaaS Demo:

SaaS Demo

Default Demo:

Default Demo

How to built a Mega Menu

1. Go to Appearance > Widgets. Here you can see a Mega Menu 1 sidebar. 

You can link this sidebar to Menu Item.

2. Add widgets to this sidebar. Each widget converts to column. Supported widgets: Categories, Custom Menu, Pages, StartApp Button, Visual Editor (Black Studio TinyMCE).

3. Go to Appearance > Menus. Create a new menu and add fill it with items as usually.

4. Expand the menu item which you want to link with Mega Menu 1 sidebar. Find the option Choose Mega Menu and select "Mega Menu 1" in dropdown list.

5. Save your menu.

How to create more than one Mega Menu?

To create more that one Mega Menu you have to increase a number of Mega Menu sidebars. In your Dashboard go to StartApp > Theme Options > Header > Mega Menu. Here you can find an option Mega Menu Sidebar Number. Just add a required number of Mega Menus to this field. This will generate the equal number of Mega Menu sidebars. That just repeat five steps above for each sidebar.

Previous: Anchored navigation :: Back to Menus

11. Widgets

Along with default WordPress widgets StartApp supports powerful custom widgets.

You can manage widgets in Widgets Screen. If you are not familiar with widgets, read the codex first.

  1. Log in to the WordPress Administration Panels.
  2. Select the Appearance panel, then Widgets.
  3. Add widget to chosen sidebar

Previous: Menus :: Contents :: Next: Shortcodes

12. Shortcodes

StartApp is packed with 45+ flexible and stylish shortcodes which are incorporated with powerful page builder - Visual Composer.

If you are not familiar how to use Visual Composer please take time to watch great video tutorial found here

Please note some shortcodes are designed to simply display Custom Post Types attached to them. That means you have to create and fill individual posts first, before you are able to display them via shortcode. They are:

Previous: Widgets :: Contents :: Next: Theme Update

13. Theme Update

Important! Before updating a theme make sure you backup your old theme folder and database. If you are not familiar how to do this please contact your webhosting provider. It is the best practice to backup both your files and database regularly and especially before making some serious updates.

Update using the WordPress uploader

  1. Find the theme and download "Installable WordPress file" on the ThemeForest
  2. Login to your WordPress Dashboard and got to Appearance > Themes
  3. Activate a different theme
  4. Delete the previous version
  5. Re-upload the recently downloaded "Installable WordPress file"
  6. Once it uploaded, activate the theme
  7. Update the plugins if you see a notification message

Update using FTP client

  1. Download "Installable WordPress file" on the ThemeForest
  2. Unzip files somewhere locally on your computer. You should have the folder with file "style.css" in it.
  3. Connect to your server using the desktop client software (like FileZilla)
  4. Go to /wp-content/themes/
  5. Remove the existing folder with old theme files
  6. Upload unzipped folder to themes directory
  7. Update the plugins if you see a notification message in your WordPress Dashboard

Problems with theme update? Please check our troubleshooting section first!

Previous: Shortcodes :: Contents :: Next: Advanced

14. Advanced

Previous: Theme Update :: Contents :: Next: Troubleshooting

15. Advanced: Child theme

Child themes are the recommended way of modifying an existing theme. For example, if you modify the original theme directly you may lost all your work after theme update. That's why better use a child theme for customizations. In this case you can be sure you won't lose your progress. Read more here

How to use a Child Theme? Just install and activate as a normal WordPress theme. You can add all modifications to style.css in your child theme folder.

You can find a child theme inside the Full Theme Package on the ThemeForest.

16. Advanced: How to use custom icons in shortcodes?

StartApp contains two large icon packs: Font Awesome and Material Icons with icons for every taste. But what if you want to use your own icons? With StartApp you can do this!

In general terms process looks as follows:

  1. Enqueue the .css file with font icons
  2. Add an icon class to "Custom Icon" field

Pretty easy, huh?

How to enqueue a .css file with custom icons?

Here you have two options:

(1) In case if your icons pack hosted on some external server (like CDN) you can add a link to .css file in Theme Options. Go to your Dashboard > StartApp > Theme Options > Advanced and find Custom Font Icons option. Here you add a link to file and it will be enqueued on the front-end.

NOTE: each new line is treated as a new file to be enqueued.

(2) Enqueue the icon pack in the child theme. This is the best (and the only) option if you don't use CDN or have you own handcrafted icon pack. Let's assume that you place you custom .css file in /startapp-child/assets/css/my-custom-icons.css. In child theme you already have appropriate hook. You can use it.

function startapp_child_scripts() {
   wp_enqueue_style( 'startapp-child', get_stylesheet_directory_uri() . '/style.css', array(), null );
   wp_enqueue_style( 'my-custom-icons', get_stylesheet_directory_uri() . '/assets/css/my-custom-icons.css', array(), null );
add_action( 'wp_enqueue_scripts', 'startapp_child_scripts', 12 );

NOTE: font icons usually required a font files. They are should be placed somewhere in child theme, too.

Ok, let's add a Weather Icons pack to a Button shortcode. Weather Icons are hosted on public CDN, so I can simply add a link to Theme Options.

In Button settings choose Custom Icon Library and add an icon class to Icon field.


17. Advanced: Cache in shortcodes

Each StartApp's brand shortcodes are cached for performance reasons. Normally you won't have any issues with shortcode cache because we use a lot of information (shortcode name, attributes, content and current post ID) to build the cache key. This must guarantee the unique cache key for every pairs of shortcode attributes.

It is recommended to disable the cache while your site in developing to avoid any unnecessary issues. You can disable cache in Theme Options. Go to your Dashboard > StartApp > Theme Options > Advanced > Caching in shortcodes option.

NOTE: Disabling this option will not flush the cache. Caching will not be used.

You can do the same via the filter in your child theme or plugin. Filter should return FALSE to DISABLE cache. Here some examples.

Completely disable cache for all shortcodes (similar result if you disable the option):

add_filter( 'startapp_shortcode_is_cache', '__return_false' )

In case you want disable cache for specific shortcode, like startapp_button:

add_filter( 'startapp_shortcode_is_cache', function ( $is_cache, $shortcode ) {
   return 'startapp_button' === $shortcode ? false : true;
}, 10, 2 );

If you want disable cache for several shortcodes no need to add a filter for each shortcode:

 * Disable cache for some shortcodes
 * @param bool   $is_cache  Whether to enable or disable cache
 * @param string $shortcode Shortcode tag
 * @return bool
function startapp_child_disable_shortcodes_cache( $is_cache, $shortcode ) {
   // disable cache for this shortcodes
   $shortcodes = array(
   return ( ! in_array( $shortcode, $shortcodes, true ) );
add_filter( 'startapp_shortcode_is_cache', 'startapp_child_disable_shortcodes_cache', 10, 2 );

This will disable cache for the list of shortcodes: startapp_button, startapp_block_title and startapp_map.

Also you can change the expiration time:

add_filter( 'startapp_shortcode_cache_expiration', function ( $expiration ) {
   return 60 * 60; // 1 hour
} );

This filter should return the amount of seconds. Default value is 86400 seconds or 1 day.

You can change expiration time for particular shortcode (or a list of shortcodes). For this purposes the shortcode tag is passed as a second parameter to the callback.

 * Custom expiration time for startapp_blog and startapp_portfolio shortcode
 * @param int    $expiration
 * @param string $shortcode
 * @return int
function startapp_child_shortcode_cache_expiration( $expiration, $shortcode ) {
   $list = array(
   if ( in_array( $shortcode, $list ) ) {
      return $expiration * 10; // cache for 10 days
   return $expiration;
add_filter( 'startapp_shortcode_cache_expiration', 'startapp_child_shortcode_cache_expiration', 10, 2 );

Related articles

Advanced: How to modify shortcode mapping?

Advanced: How to modify shortcode template?

18. Advanced: How to enable unsupported Visual Composer shortcodes?

We do not support all Visual Composer shortcodes, because they do not fit into our design. But if you need any of that shortcode you can easily re-enable them within the child theme with the filter:

 * Re-enable one or many Visual Composer shortcodes
 * @param array $shortcodes
 * @return array
function startapp_child_enable_vc_shortcodes( array $shortcodes ) {
   $enable = array(
   return array_diff( $shortcodes, $enable );
add_filter( 'startapp_vc_unsupported_shortcodes', 'startapp_child_enable_vc_shortcodes' );

Where $enable is a list of shortcode you want to re-enable.

You can find a list of disabled shortcodes in /startapp/inc/vc.php on line 180

NOTE: Unsupported shortcodes will require additional styling.

19. Advanced: How to modify shortcode template?

StartApp mostly built with shortcodes. Shortcode is a small and self-contained element that can be placed anywhere on the page. A small blocks from which you can build a stylish and unique site. But it is impossible to cover all the requirements under the theme. That's why if you need even more uniqueness (or, for example, fix a small issue) you can modify the templates on your own.

StartApp contains of two types of shortcodes:

Modifying Visual Composer's shortcodes

The Visual Composer works by using template files for the output of all it’s shortcodes which can be overwritten via themes. So you’ll need to place the original file in your child theme.

  1. Create new folder /vc_templates in your child theme
  2. Locate the template inside the Visual Composer plugin at /js_composer/includes/templates/shortcodes/
  3. Copy and paste template in the /vc_templates folder of your child theme
  4. Modify the template.

NOTE: StartApp already modified some templates to fix some design issues and also to add some extra options that weren’t present. You can check modified templates in /startapp/vc_templates/

Modifying brand shortcodes

All StartApp's shortcodes are located in the StartApp Core plugin. When shortcode displayed on the front-end this will trigger the shortcode's template loader. It detects the shortcodes name and searches the template in the following directories:

First found template will be loaded. That's why if you need to modify StartApp shortcode template you can do the following:

  1. Create new folder /shortcodes in your child theme.
  2. Locate the template in StartApp Core plugin at /startapp-core/shortcodes/templates/
  3. Copy and place this template in /shortcodes folder of your child theme
  4. Modify the template! 

Now template loader will use overwritten template.

 Also you can add your own locations to the template loader. For example, you don’t like using child theme’s for one reason or another or you want to tweak a theme via a plugin you can use the filter:

 * Add custom locations to shortcode template loader
 * @param array $locations
 * @return array
function startapp_child_custom_shortcodes_location( $locations ) {
   // add to the beginning of a list
   array_unshift( $locations, '/my/custom/location' );
   // add to the end of a list
   $locations[] = '/my/custom/location';
   return $locations;
add_filter( 'startapp_shortcode_template_dirs', 'startapp_child_custom_shortcodes_location' );

Related articles

Advanced: Cache in shortcodes

Advanced: How to modify shortcode mapping?

20. Advanced: How to modify shortcode mapping?

What is shortcode mapping? Other words this is shortcode parameters.

You may need to modify the shortcode params if you want to extend the shortcode with new features or hide some existing params.

Modifying the mapping of Visual Composer's shortcodes

You have two options:

Example code of using Visual Composer API:

function startapp_child_modify_mapping() {
    vc_add_param( 'vc_row', array(
        'param_name'  => 'test_param',
        'type'        => 'textfield',
        'weight'      => - 3,
        'heading'     => esc_html__( 'Test Param', 'startapp' ),
        'description' => esc_html__( 'Test Param Description', 'startapp' ),
    ) );
add_action( 'vc_after_init', 'startapp_child_modify_mapping', 15 );

Note the priority 15. It should be lower than default value (> 10). Result will be:

For more information about VC inner API see the VC documentation.

Also you can use a filter startapp_shortcode_vc_params. Example:

function startapp_child_replace_params( $params, $tag ) {
   if ( 'vc_row' === $tag ) {
      $params[] = array(
        'param_name'  => 'test_param',
        'type'        => 'textfield',
        'weight'      => -3,
        'heading'     => esc_html__( 'Test Param', 'startapp' ),
        'description' => esc_html__( 'Test Param Description', 'startapp' ),
   return $params;
add_filter( 'startapp_shortcode_vc_params', 'startapp_child_replace_params', 10, 2 );

Modifying the mapping of StartApp shortcodes

To modify the brand shortcodes params use filter startapp_shortcode_params. Fox example I'm going to add a new parameter to Animated Digits shortcode:

function startapp_child_animated_digits_extra_params( $params, $shortcode ) {
    if ( 'startapp_animated_digits' !== $shortcode ) {
        return $params;
    $params[] = array(
        'param_name'  => 'test_param',
        'type'        => 'textfield',
        'weight'      => 10,
        'heading'     => esc_html__( 'Test Param', 'startapp' ),
        'description' => esc_html__( 'Test Param Description', 'startapp' ),
    return $params;
add_filter( 'startapp_shortcode_params', 'startapp_child_animated_digits_extra_params', 10, 2 );

Result will be:

To apply this param you should add it to shortcode_atts() function inside the shortcode template. You can modify the template or simply use filter:

function startapp_child_animated_digits_extra_atts( $atts, $shortcode ) {
   if ( 'startapp_animated_digits' !== $shortcode ) {
      return $atts;
   $atts['test_param'] = '';
   return $atts;
add_filter( 'startapp_shortcode_default_atts', 'startapp_child_animated_digits_extra_atts', 10, 2 );

Modifying the template is common case, because obviously you should use your new param in some manner. But in some cases it is enought just to add a new attribute to list. This is required for Visual Composer shortcodes, too.

Related atricles

Advanced: How to modify shortcode template?

Advanced: Cache in shortcodes

21. Troubleshooting

Previous: Advanced :: Contents

22. Troubleshooting: The theme is missing the style.css stylesheet

One of the most common reasons people have issues is because they try uploading the Full Theme Package zip that includes sample data, documentati, etc which displays the “The package could not be installed. The theme is missing the style.css stylesheet.” error. Please make sure you are uploading only the Installable WordPress file.

When you download the theme from ThemeForest it will give you 2 choices: one is to download the Full Theme Package which you will need to extract to locate the theme and the other one is just the Installable WordPress file. Please pay close attention to this.

23. Troubleshooting: Can't install plugins

Sometimes problems can occur with the installation because of permissions, depending on your server configuration. To solve the problem you may temporary set the permissions recursively on your /wp-content and sub-folders to 777. But this is not safe, so do not forget to back permissions to 755. For more information please visit the codex.

If changing permissions did not help and you still have issues with automatic plugin installation try to install them manually. You can find bundled plugins in theme's /plugins sub-directory. You should extract plugins from the archives and upload them, e.g. through FTP to /wp-content/plugins/ directory.

24. Troubleshooting: Enabling WP_DEBUG in WordPress

WP_DEBUG is a constant that when enabled will display any PHP errors on the front-end of your site, this is the most useful tool when troubleshooting your site for errors. If disabled and your site has an error you may see a blank screen or content missing on the site but no error message, that makes it nearly impossible to figure out the problem.

Important: This is an advanced procedure so please proceed with caution, if you don’t know what you are doing, please contact your webhost for assistance.

How to enable WP_DEBUG in WordPress

  1. Access your website's root via FTP
  2. Locate the wp-config.php file
  3. Open this file in your favorite text editor
  4. Search for WP_DEBUG and if you find it set the value to true.

If you didn't locate WP_DEBUG constant you can add it manually above the line

/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
   define('ABSPATH', dirname(__FILE__) . '/');

This will enable the error logging and will display PHP errors on front-end. If you don't want to show errors to everybody you can do the following:

ini_set('display_errors', 0);
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
define('SCRIPT_DEBUG', true);

This code will create file debug.log in your wp-content folder and will add all errors to log file instead outputting to front-end. More information you can find in codex.

Here is a typical configuration on our development environment:

ini_set('display_errors', 1);
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
define('SCRIPT_DEBUG', true);
define('SAVEQUERIES', true);

25. Troubleshooting: Importing demo doesn't work

The common issue with the importing demo is a few server resources. I suggest you check this out with your webhosting provider too.

The import process is quite a heavy and resource intensive operation. WordPress needs to import all posts, taxonomies, terms and download attachments. These resources are allocated based on the server configuration. You could ask your webhosting provider to kindly set in the php.ini file these values:

memory_limit 256MB
max_execution_time 300
post_max_size 20MB
upload_max_filesize 20MB

In most cases this will solve the issue.

NOTE: it is very important to import data on a clean WordPress install. This will save you from many possible issues.

26. Troubleshooting: Are you sure you want to do this?

Before troubleshooting this issue it will be a good idea to take a full backup.

The error you are getting is quite common in WordPress and can be caused due to some different issues. As described in this post try to disable all your plugins, try switching to the default WordPress theme and try to do this again to see if the error still occurs.

If this won't help there might be another reason: your web server is configured with PHP settings that are too low to allow the theme ZIP file to upload. Thus, the web server is rejecting the upload. WordPress is giving you a rather ambiguous message in response. Recommended PHP configuration limits are as follows:

memory_limit 256MB
max_execution_time 300
post_max_size 32MB
upload_max_filesize 32MB

Ask your webhosting provider to increase your server resources.

If nothing helps try to upload theme manually through the FTP to /wp-content/themes/ directory.