How to Use Thesis theme in WordPress Multisite Network Sites

We know thesis theme is one of the best search engine optimized (SEO) WordPress themes which is commonly used for blogs and websites in WordPress CMS.  WordPress 3.0 and above version can enable multisite network during the wordpress installation or in existing WordPress blog. Before enabling multisite feature, we have a number of questions in our mind regarding theme selection:

  1. Can we use thesis theme for WordPress multisite network?
  2. How to install thesis theme in multisite network?
  3. How to customize Thesis theme for different sites in the multisite network?
  4. Can we use different Thesis theme SEO options in different sites in the network?

Answer for the above questions are YES. We can modify thesis theme to use all sites in the WordPress multisite network. The modification procedure to use thesis theme in multisite is explained below. Before reading the procedure, first we will see how to install thesis theme in multisite. Check the WordPress multisite network setup procedure and add new sites in the multisite network and domain mapping for WordPress multisite here.

How to Install Thesis Theme To Use in WordPress Multisite Network sites

Installing WordPress thesis theme in multisite or other wordpress themes installation in wp multisite is the same as in normal WordPress site theme installation except the network enable option.  Follow the steps to install themes in WordPress multisite.

Install WordPress multisite themes and Modify Thesis theme to use in Multisite network

  1. Login to the Network admin of the WordPress multisite.
  2. Under ‘appearance’ tab, click ‘themes’ option and upload thesis theme or other WordPress theme latest version. Some of the WordPress theme may not be compatible with wp multisite. Before the upload, check the multisite compatibility. We can upload thesis theme, which is allowed the multisite.
  3. After the upload, just click ‘Network enable’. Now the thesis theme can be available in all the sites used in the multisite network.  If you have not used ‘network enable’, Thesis theme will not be available in the individual sites admin. Change the custom-sample folder into custom and cache folder permission to ‘775’ and layout.css permission to ‘666’ in cpanel as mentioned in the installation procedure.
  4. Now go to ‘site admin’ of the individual sites available in the multisite network and activate thesis theme (site admin–> Appearances–>themes–> activate thesis theme). It is not necessary to activate thesis theme in all the sites in the network; we can activate thesis only in some of the sites in the multisite network.

That’s all. Now we enabled Thesis theme network-wide and activated in some of the individual sites in the network. To use different thesis theme options and achieve unique design for different sites in the network, we need to modify the thesis theme according to the individual site’s blog ID. Below are the procedures:

1: Create Individual Custom Folders for Each Site in the Multisite network

To customize each site differently in the multisite network, we need separate custom folder for individual network sites. So first, duplicate the Thesis custom folder onetime for each site in the network, and rename the duplicated custom folder as custom-site ID.

For example:

custom-1 for site which has site ID 1,

custom-2 for which has site ID 2,

custom-3 for which has site ID 3  and etc.

How to Find the site ID

To find site ID, go to network admin. Click domain under the settings tab. You will see the site ID for individual sites. Or you can click ‘All sites’ link under ‘Sites’ Tab and mouse hover on each domain added in the network.  When you mouse hover on a domain, you will see site ID at the bottom. Now we have created custom folder for each site in theme WordPress multisite network. Next we should enable each custom folder in theme functions.

2. Enable Custom Folders in Thesis functions to use in Multisite

In functions.php we should to two changes. (The path is public_html/multisitedomain.com/wp-content/themes/thesis/functions.php)

a. Change the below line:

define(‘THESIS_CUSTOM’, STYLESHEETPATH . ‘/custom’);

to:

define(‘THESIS_CUSTOM’, STYLESHEETPATH . ‘/custom-’ . $blog_id);

b. Change:

define(‘THESIS_CUSTOM_FOLDER’, get_bloginfo(‘stylesheet_directory’) . ‘/custom’);

to:

define(‘THESIS_CUSTOM_FOLDER’, get_bloginfo(‘stylesheet_directory’) . ‘/custom-’ . $blog_id);

3. Enable Thumbnails to Use and Return the Correct Paths

The below three changes needed in thumb.php file (The path is public_html/multisitedomain.com/wp-content/themes/thesis/ lib/scripts/thumb.php)

In lib/scripts/thumb.php:

a. Add the following 2 lines at the beginning (before the define (‘CACHE_SIZE’, 250); line):

define( ‘SHORTINIT’, true );

require_once( $_SERVER['DOCUMENT_ROOT'] . ‘/wp-load.php’ );

b. Change:

$cache_dir = ‘../../custom/cache’;

to:

$cache_dir = ‘../../custom-’. $blog_id . ‘/cache’;

c. Add this line:

$src = str_replace( array( $_SERVER['DOCUMENT_ROOT'], “/files/”) , array(“”, “”) , BLOGUPLOADDIR  ) . $src;

just before these lines:

// get path to image on file system

$src = get_document_root($src) . ‘/’ . $src;

4. Change Upload Path and URL for Site ID 1 in the Multisite Network

You may not need to change these settings – if the Upload Path and URL for site ID 1 already match up to below procedure, just skip to step 5.

a. Go to Network Admin > Sites, and click on edit link of one domain (i.e., first site has ID 1) among the all domains available in the network. Select the settings tab for site ID 1

Under Site settings options (wp_options), look for the Upload Path (wp-content/uploads), and change it to:

wp-content/blogs.dir/1/files

Then, look for the Fileupload URL (http://domain.com/wp-content/uploads), and change it to:

http://domain.com/files/

where domain.com is the unique domain name for the site ID 1.

Finally click on UPDATE OPTIONS at the bottom and save your changes.

b. Using your FTP program, Go to wp-content > blogs.dir, and create a folder named 1; then, inside the folder ‘1’, create a folder named ‘files’ – this will be the new storage location for uploaded files for the main site in the network.  (for other sites we should use the site ID for new folder created inside the blogs.dir folder. for site ID 2 the folder is is ‘2’).

Note: You should repeat step 4 for all the sites available in the network. If you have five sites we should change upload path in all five site settings.

5. Enable Theme Options in Site Admin of individual sites in the Network

Change edit_themes to edit_theme_options in each of the following files in admin.php file. (The path is public_html/multisitedomain.com/wp-content/themes/thesis/ lib/scripts/thumb.php)

a. In lib/admin/admin.php, within each add_menu_page and add_submenu_page statement within the thesis_add_menu() function.

Changes b, c, and d are necessary only for versions below Thesis 1.8.1.

b. In lib/admin/file_editor.php, within the first if statement within the save_file() function.

c. In lib/classes/options_design.php, within the first if statement within the save_options() function.

d. In lib/classes/options_site.php, within the first if statement within the save_options() function.

That’s all. Now you can experience the thesis theme features differently in all sites available in the multisite network. If you have problem you can setup complete multisite with thesis here. Share your experience in the comments section.

 

{ 1 comment… add one }

Leave a Comment

  • Gowtham@mytechshout.com January 27, 2012, 6:15 PM

    A unique post.Very helpful for those who want to use thesis theme for their multisites.

    Reply