<blockquote>The Duplicate Sidebar Widget allows for easy duplication of another sidebar’s widgets simply by dropping in the Duplicate Sidebar widget and selecting the sidebar to be duplicated from the drop-down.</blockquote>

+

{{#ev:youtube|PRPET5ntwCs|640|right|In this webinar, Koop and Chris demo the way Builder now dynamically responds for mobile or tablet viewing and answer questions about how this update effects existing and future child themes.}}

=== What is the easiest and fastest way to get started with a Builder responsive site? ===

+

+

The quickest way to get a responsive Builder site up and running is to get the latest version of Builder and one of the [http://ithemes.com/codex/page/Builder_Features#List_of_responsive-ready_Builder_child_themes updated child themes]. Since the Foundation Series child themes are specifically intended as starting points for building custom designs, using one of these will give you a solid, responsive child theme to build your site.

+

+

=== Will updating my existing site with this new version of Builder break my child theme design? ===

+

+

A lot of effort has gone into ensuring that this version of Builder will not cause issues when you upgrade an existing site to Builder > 4.0. There is a specific piece of code that needs to be in a child theme's <code>functions.php</code> in order to trigger the new responsive feature, so your child theme will still function as it does now after you upgrade. Here is that code:

+

+

<pre class="brush:php;">

+

add_theme_support( 'builder-responsive' );

+

</pre>

+

+

Note that there are some Builder sites that have extreme modifications. Since we don't have access to these modified child themes, we can't test with them. So, if you have a large amount of customizations through filters that affect widths, positioning, and other aspects integral to rendering a Layout, it is possible that the changes in this release can cause you some issues.

+

+

If you have a highly-customized site, we recommend keeping a backup of your existing Builder theme directory just in case. If you run into any issues after upgrading, revert to the previous version of Builder and contact us [http://ithemes.com/forum/forum/64-builder/ in the forum] about the issue. If possible, please provide a copy of your child theme that is having the issue so that we can find a way to work around the issue.

+

+

=== Can I update my existing child theme to be responsive? ===

+

+

A big goal that we had for this release was to make it very easy to update existing child themes to be responsive. As Chris Jean mentioned [http://ithemes.com/2012/10/10/responsive-is-coming-to-ithemes-builder/ here], the idea was to make it as simple as adding a line of PHP to your child theme's <code>functions.php</code> file.

+

+

In a way, this has been achieved. By adding a single line of PHP to your child theme’s <code>functions.php</code> file, you can enable Builder 4.0's responsive feature. However, what we overlooked to account for is that the old method of styling child themes create some inconsistencies as the design breaks down responsively.

+

+

Will adding this line of PHP make your existing child theme responsive? Yes; however, the styling may not take to it too well.

+

+

The best advice we can give to people is to try making the change on a test version of your site. Set up a test installation of WordPress (if you have [http://ithemes.com/purchase/backupbuddy/ BackupBuddy], you can use the magic migration feature to set up a mirror of your site for testing), install the latest version of Builder, add your child theme, make the modification (listed below) to the functions.php file, and test things out to see if your design is coping well with the new responsive feature.

+

+

Note that the <code>functions.php</code> modification can be removed to switch the child theme back to its non-responsive functionality, so trying out the feature will not do anything to prevent you from going back. If you don’t want to go to the trouble of making the test site and are comfortable with your site possibly having some style issues while you test out the new feature, you can easily remove the modification and put things back the way that they were.

+

+

If your child theme already has a <code>functions.php</code> file, simply add this line after the <?php line:

+

+

<pre class="brush:php;">

+

add_theme_support( 'builder-responsive' );

+

</pre>

+

+

If your child theme doesn't have a <code>functions.php</code>, create a new file, add the following code to it, save it as <code>functions.php</code>, and add it to your child theme.

+

+

<pre class="brush:php;">

+

<?php

+

+

add_theme_support( 'builder-responsive' );

+

</pre>

+

+

We will soon post tutorials that detail what methods we used when updating our existing child themes to be responsive ready. These tutorials will be CSS-heavy, so if you are a CSS novice, you are probably better off starting with one of the updated child themes and updating it to have the desired changes.

+

+

=== What if I want to use Builder 4.0 and one of the responsive-ready child themes but I don't want my site to be responsive? ===

+

+

In a responsive-ready child theme, you will find the following line of PHP in the functions.php file:

+

+

<pre class="brush:php;">

+

add_theme_support( 'builder-responsive' );

+

</pre>

+

+

In order to disable the responsive feature, replace the above line with:

+

+

<pre class="brush:php;">

+

add_theme_support( 'builder-percentage-widths' );

+

</pre>

+

+

For example, if the child theme’s functions.php file looks like:

+

+

<pre class="brush:php;">

+

<?php

+

+

add_theme_support( 'builder-3.0' );

+

add_theme_support( 'builder-responsive' );

+

</pre>

+

+

Modify it to look like:

+

+

<pre class="brush:php;">

+

<?php

+

+

add_theme_support( 'builder-3.0' );

+

add_theme_support( 'builder-percentage-widths' );

+

</pre>

+

+

=== My site uses Builder's Style Manager plugin, can I use both Style Manager and the responsive feature? ===

+

+

Yes. See http://ithemes.com/codex/page/Style_Manager#Information_for_Style_Manager_0.6.0_and_up

+

+

== List of responsive-ready Builder child themes ==

+

+

Any child theme that has version number equal to or greater than 4.0.0 (in the [http://ithemes.com/member/member.php Member Panel]) is responsive-ready.

+

+

The list below might not be up-to-date. You are advised to check the Member Panel for version numbers next to child themes to determine if a particular child theme is responsive-ready or not.

+

+

* Builder Child Theme - Avail

+

* Builder Child Theme - City Church

+

* Builder Child Theme - Default

+

* Builder Child Theme - Depot

+

* Builder Child Theme - Essence Blue

+

* Builder Child Theme - Essence Dark

+

* Builder Child Theme - Essence Golden

+

* Builder Child Theme - Essence Red

+

* Builder Child Theme - Essence Silver

+

* Builder Child Theme - Essence White

+

* Builder Child Theme - Expansion

+

* Builder Child Theme - Expansion Blue

+

* Builder Child Theme - Expansion Red

+

* Builder Child Theme - Foundation

+

* Builder Child Theme - Foundation Blank

+

* Builder Child Theme - Foundation Bonsai

+

* Builder Child Theme - Foundation Glacier

+

* Builder Child Theme - Foundation Tropic

+

* Builder Child Theme - Icebox

+

* Builder Child Theme - Threads

+

* Builder Child Theme - Thrify

+

+

We are currently converting more child themes besides the above to be responsive-ready.

+

+

== Notes ==

+

+

=== style-mobile.css and other stylesheets ===

+

+

* Builder now adds supports for some new stylesheets in the child theme. You can now add style-responsive.css, style-tablet.css, and/or style-mobile.css. These stylesheets will only load when the screen is at a specific width.

+

+

'''style-responsive.css''' stylesheet loads when the screen width is less than or equal to the tablet-width (by default, this width is set to be the width of the current Layout).

+

+

'''style-tablet.css''' stylesheet loads when the screen width is less than or equal to the tablet-width AND is greater than the mobile-width. Unless the settings are modified, tablet-width is the same as the layout-width.

+

+

'''style-mobile.css''' stylesheet loads when the screen width is less than or equal to the mobile-width. By default, this width is 500px.

+

+

Further explanation and usage examples shall be added soon.

+

+

=== Adaptive design ===

+

+

Responsive fluidly changes as the browser changes while adaptive has specific sizes that it can change to, but it does not fluidly resize in between these different designs.

+

+

In [http://ithemes.com/forum/topic/33682-builder-40-responsive/#entry156314 this] forum post, Chris explains how one can achieve adaptive design in Builder.

<code>mobile-width</code> is used to determine what width is considered to be "mobile". In Builder's responsive feature, this width is used to cause the styling in the <code>style-mobile.css</code> file to take effect and is used to figure out when to add the auto-generated margins. The default value of <code>mobile-width</code> is 500px.

<code>tablet-width</code> is used to determine what width is considered to be "tablet". In Builder's responsive feature, this width is used to cause the styling in the <code>style-tablet.css</code> file to take effect.

By default, Builder's responsive feature adds margins to the sides of the Layout as the browser width starts to shrink. This is to ensure that the Layout is pushed away from the edges of the device. If this isn't needed, for example, when you want to achieve an adaptive design, we can set <code>enable-auto-margins</code> to false in order to disable this feature.

+

+

=== Issues with IE ===

+

+

Unfortunately, responsive sites don't work very well on Internet Explorer < 9. That being the case, our themes have rules for IE 6, 7, and 8 that keep the site full width. This may not be ideal, but it is certainly much better than having a terrible-looking site in IE < 9.

<blockquote>The Widget Content feature adds the use of an advanced editor to create widget content. A new Widget Content top-level menu is now on the back-end and allows for creation of widget content with the same interface as posts and pages. Once a Widget Content entry is saved, you can add the Widget Content widget to a sidebar location and select the desired Widget Content entry from the drop down to add that content to a sidebar.</blockquote>

<blockquote>The Widget Content feature adds the use of an advanced editor to create widget content. A new Widget Content top-level menu is now on the back-end and allows for creation of widget content with the same interface as posts and pages. Once a Widget Content entry is saved, you can add the Widget Content widget to a sidebar location and select the desired Widget Content entry from the drop down to add that content to a sidebar.</blockquote>

FAQ

What is the easiest and fastest way to get started with a Builder responsive site?

The quickest way to get a responsive Builder site up and running is to get the latest version of Builder and one of the updated child themes. Since the Foundation Series child themes are specifically intended as starting points for building custom designs, using one of these will give you a solid, responsive child theme to build your site.

Will updating my existing site with this new version of Builder break my child theme design?

A lot of effort has gone into ensuring that this version of Builder will not cause issues when you upgrade an existing site to Builder > 4.0. There is a specific piece of code that needs to be in a child theme's functions.php in order to trigger the new responsive feature, so your child theme will still function as it does now after you upgrade. Here is that code:

add_theme_support( 'builder-responsive' );

Note that there are some Builder sites that have extreme modifications. Since we don't have access to these modified child themes, we can't test with them. So, if you have a large amount of customizations through filters that affect widths, positioning, and other aspects integral to rendering a Layout, it is possible that the changes in this release can cause you some issues.

If you have a highly-customized site, we recommend keeping a backup of your existing Builder theme directory just in case. If you run into any issues after upgrading, revert to the previous version of Builder and contact us in the forum about the issue. If possible, please provide a copy of your child theme that is having the issue so that we can find a way to work around the issue.

Can I update my existing child theme to be responsive?

A big goal that we had for this release was to make it very easy to update existing child themes to be responsive. As Chris Jean mentioned here, the idea was to make it as simple as adding a line of PHP to your child theme's functions.php file.

In a way, this has been achieved. By adding a single line of PHP to your child theme’s functions.php file, you can enable Builder 4.0's responsive feature. However, what we overlooked to account for is that the old method of styling child themes create some inconsistencies as the design breaks down responsively.

Will adding this line of PHP make your existing child theme responsive? Yes; however, the styling may not take to it too well.

The best advice we can give to people is to try making the change on a test version of your site. Set up a test installation of WordPress (if you have BackupBuddy, you can use the magic migration feature to set up a mirror of your site for testing), install the latest version of Builder, add your child theme, make the modification (listed below) to the functions.php file, and test things out to see if your design is coping well with the new responsive feature.

Note that the functions.php modification can be removed to switch the child theme back to its non-responsive functionality, so trying out the feature will not do anything to prevent you from going back. If you don’t want to go to the trouble of making the test site and are comfortable with your site possibly having some style issues while you test out the new feature, you can easily remove the modification and put things back the way that they were.

If your child theme already has a functions.php file, simply add this line after the <?php line:

add_theme_support( 'builder-responsive' );

If your child theme doesn't have a functions.php, create a new file, add the following code to it, save it as functions.php, and add it to your child theme.

<?php
add_theme_support( 'builder-responsive' );

We will soon post tutorials that detail what methods we used when updating our existing child themes to be responsive ready. These tutorials will be CSS-heavy, so if you are a CSS novice, you are probably better off starting with one of the updated child themes and updating it to have the desired changes.

What if I want to use Builder 4.0 and one of the responsive-ready child themes but I don't want my site to be responsive?

In a responsive-ready child theme, you will find the following line of PHP in the functions.php file:

add_theme_support( 'builder-responsive' );

In order to disable the responsive feature, replace the above line with:

My site uses Builder's Style Manager plugin, can I use both Style Manager and the responsive feature?

List of responsive-ready Builder child themes

Any child theme that has version number equal to or greater than 4.0.0 (in the Member Panel) is responsive-ready.

The list below might not be up-to-date. You are advised to check the Member Panel for version numbers next to child themes to determine if a particular child theme is responsive-ready or not.

Builder Child Theme - Avail

Builder Child Theme - City Church

Builder Child Theme - Default

Builder Child Theme - Depot

Builder Child Theme - Essence Blue

Builder Child Theme - Essence Dark

Builder Child Theme - Essence Golden

Builder Child Theme - Essence Red

Builder Child Theme - Essence Silver

Builder Child Theme - Essence White

Builder Child Theme - Expansion

Builder Child Theme - Expansion Blue

Builder Child Theme - Expansion Red

Builder Child Theme - Foundation

Builder Child Theme - Foundation Blank

Builder Child Theme - Foundation Bonsai

Builder Child Theme - Foundation Glacier

Builder Child Theme - Foundation Tropic

Builder Child Theme - Icebox

Builder Child Theme - Threads

Builder Child Theme - Thrify

We are currently converting more child themes besides the above to be responsive-ready.

Notes

style-mobile.css and other stylesheets

Builder now adds supports for some new stylesheets in the child theme. You can now add style-responsive.css, style-tablet.css, and/or style-mobile.css. These stylesheets will only load when the screen is at a specific width.

style-responsive.css stylesheet loads when the screen width is less than or equal to the tablet-width (by default, this width is set to be the width of the current Layout).

style-tablet.css stylesheet loads when the screen width is less than or equal to the tablet-width AND is greater than the mobile-width. Unless the settings are modified, tablet-width is the same as the layout-width.

style-mobile.css stylesheet loads when the screen width is less than or equal to the mobile-width. By default, this width is 500px.

Further explanation and usage examples shall be added soon.

Adaptive design

Responsive fluidly changes as the browser changes while adaptive has specific sizes that it can change to, but it does not fluidly resize in between these different designs.

In this forum post, Chris explains how one can achieve adaptive design in Builder.

mobile-width

mobile-width is used to determine what width is considered to be "mobile". In Builder's responsive feature, this width is used to cause the styling in the style-mobile.css file to take effect and is used to figure out when to add the auto-generated margins. The default value of mobile-width is 500px.

enable-auto-margins

By default, Builder's responsive feature adds margins to the sides of the Layout as the browser width starts to shrink. This is to ensure that the Layout is pushed away from the edges of the device. If this isn't needed, for example, when you want to achieve an adaptive design, we can set enable-auto-margins to false in order to disable this feature.

Issues with IE

Unfortunately, responsive sites don't work very well on Internet Explorer < 9. That being the case, our themes have rules for IE 6, 7, and 8 that keep the site full width. This may not be ideal, but it is certainly much better than having a terrible-looking site in IE < 9.

Widget Content

The Widget Content feature adds the use of an advanced editor to create widget content. A new Widget Content top-level menu is now on the back-end and allows for creation of widget content with the same interface as posts and pages. Once a Widget Content entry is saved, you can add the Widget Content widget to a sidebar location and select the desired Widget Content entry from the drop down to add that content to a sidebar.

This new feature was announced by Chris Jean recently, and we now have a full webinar recording in which Chris walks through how to use Import/Export, step by step.

In this webinar you will learn what the feature does, when you might want to use it, and when it makes more sense to use BackupBuddy. Chris also reviews all the other changes he incorporated into Builder 2.8.0.

All iThemes Builder users should watch this video, especially those of you involved in web design and development as a career.

Custom Module Styles

Introduction

Builder provides the ability to select a custom style for a module when the module is being edited in Layout Editor. The name of custom module style and corresponding CSS class are defined in child theme's functions.php.

Custom Module Styles are present by default in these child themes: Americana and its color variants, Blueprint, Ionic and its color variants, Classen, Encased.

Custom Module Styles can also be easily added to other Builder child themes.

Example

Objective: To set a custom style to a specific image module so that the module's wrapper (which is full width by default in Americana) gets blue background that matches the image background.

The screenshot below shows how the site appears before we create and apply the custom style to the image module (top most in the layout):

More Examples

Custom Widget Styles

Builder provides a easy way to apply a style (Ex.: "Yellow Background") to a widget. This style's CSS (Ex.: "background: yellow;") is to be defined in style.css for a selector whose name is defined in functions.php.

Note:

Only the Widget Content widget supports this option currently

The support is already built into Builder, but like the Module Styles, the option will not appear unless the child theme provides some Widget Styles. Since none of the child themes do this yet, the option does not appear by default.

If you want to start using this in your own child themes with the realization that it will be limited to Widget Style widgets, you can add code like the following to your child theme's functions.php file:

Then all you'll need to do is change "Style Name 1" and "Style Name 2" to be the names you want for the Widget Styles and "css-class-1" and "css-class-2" to be the classes you want to be applied for each Widget Style. Simply call "builder_register_widget_style" and provide a name and class for each Widget Style you wish to add.

Example

The above code has been added before the closing PHP tag in functions.php of BuilderChild-Blueprint theme.

Screenshots at Appearance -> Widgets before and after adding the above code:

Before and After

The following has been added at the end of theme's style.css:

.css-class-1 {
background: yellow !important;
}

or we can write more specific CSS like the following to avoid using !important:

.builder-module-sidebar .css-class-1 {
background: yellow;
}

Screenshots of how the site appears before and after doing the above:

Before and After

Henceforth any widget content widget that should get a yellow background can simply be set this style "Style Name 1" at Appearance -> Widgets.

Analytics and JavaScript Code

Builder makes it very easy to enter Google Analytics ID and custom JavaScript code that you might want to enter in <head> and/or just above </body> sections.

Note: After entering Google Analytics ID in Builder settings,

1. it might take a day or two for Google Analytics to show tracking data in your account.