Using Thesis Theme With A WordPress Multisite Installation

The new WordPress v3.0 is bringing in the multisite functionality of WordPress Mu. Here’s a quick tutorial on how to get the Thesis WordPress Theme working on such a WordPress multisite network.

  1. Install Thesis as you normally would on a WordPress site.
  2. Find the functions.php file under the Thesis folder and make the following changes:
    • Add $blog = strtolower(str_replace( " ","-",get_bloginfo('name') )); before the // Define directory constants line. This will make sure that the code we are going to add will pickup the right path.
    • Change define('THESIS_CUSTOM', TEMPLATEPATH . '/custom'); to define('THESIS_CUSTOM', TEMPLATEPATH . '/custom/'.$blog);. This will make sure that Thesis looks for the custom folder in a new site specific location.  (Update: See comment 9 for a more foolproof way of doing this. Thanks to Philip.)
    • Change define('THESIS_CUSTOM_FOLDER', get_bloginfo('template_url') . '/custom'); to define('THESIS_CUSTOM_FOLDER', get_bloginfo('template_url') . '/custom/' . $blog);. Does the same as above.
  3. For every new site that you create from the WordPress multisite installation you’ll have to do the following steps to make sure Thesis works for the new site:
    1. Navigate to the Thesis “custom” folder on the server. Create a new folder inside the server. Name it to the title of your new site. Eg. if the name of your new site is test then name the folder test. If the name is Test One, name it test-one (i.e. spaces in the name should be replaced by hyphen and the folder name should all be in lowercase).
    2. Upload the contents of Thesis custom folder into this new folder. As an example the path of the files will now be as follows (if your primary site is named Site and secondary is named Site Two):
      • thesis/custom/<site>/custom.css
      • thesis/custom/<site>/custom_functions.php
      • thesis/custom/<site>/layout.css
      • thesis/custom/<site>/cache/
      • thesis/custom/<site>/images/
      • thesis/custom/<site>/rotator/
      • thesis/custom/<site-two>/custom.css
      • thesis/custom/<site-two>/custom_functions.php
      • thesis/custom/<site-two>/layout.css
      • thesis/custom/<site-two>/cache/
      • thesis/custom/<site-two>/images/
      • thesis/custom/<site-two>/rotator/
    3. Set the permissions of layout.css to 666
    4. Set the permissions of cache folder to 775.

Now you can activate Thesis on the primary and secondary site. This will make that the functionality of custom.css, custom_functions.css and the site layout (Thesis Design Options) and other Thesis settings are unique for every site in the network.

The next time you upgrade thesis, make sure that you upload newly included files inside the custom folder to the server (no need to upload the files already on the server). Do this for every site that is a part of the network. Additionally you’ll have to re-upload functions.php file and make these changes to the 3 lines every time you upgrade.

Update: Seems like they’ve taken a clue and included these instructions on the official site.