Child Theme Configurator

Child Theme Configurator

When using the Customizer is not enough – Create a child theme from your installed themes and customize styles, templates, functions and more.
Rating:
4.7
Active Installations:
300000+
Last Updated:
Mar 23, 2024
WordPress Version:
4.0 or higher
Tested up to:

Customize child theme

Easily customize child theme stylesheets directly with Child Theme Configurator.

Analyze and override

Analyze any theme for problems and override the exact CSS attributes you want to customize.

Save hours of time

Save hours of development time by using Child Theme Configurator to create and customize child themes.

Protect your edits

Save your work and customize styles in your child themes without the risk of losing your edits.

2.6.6

  • Fixed bug in DE translation module

2.6.5

  • Fixed deprecation notice for utf8_encode

2.6.4

  • Fixed deprecation notices in Packer.php and CSS.php

2.6.2/2.6.3

  • Version updates only.

2.6.1

  • Fixed ui-active-state selector where select menu was not being highlighted

2.5.8

  • Fixed some stylesheet issues

2.5.7

  • Updated for WP 5.6

2.5.6

  • WP 5.5 update removed commonL10n – causing scripts to break – replaced with CTC getxt value.

2.5.5

  • Removed curly brace syntax from substring argument in Packer class.

2.5.4

  • Fixed case where registered styles not showing in queue during analysis.

2.5.3

  • Fixes to stylesheet. Updates to help tabs.

2.5.2

  • Logic to prevent malformed style properties
  • Minor cosmetic changes

2.5.0

  • Preview class now evaluates stylesheet hooks as they fire instead of calling them again to prevent function exists errors.
  • Tested for PHP version 7.1
  • Modified input parser to allow multi-stop background gradients.

2.4.x

  • Analyzer now saves all signals on successful child theme regardless of analysis results.
  • This fixes a bug in some themes where the enqueue hooks were being rewitten incorrectly after adding web fonts.
  • Fixed a serious regression bug created by version 2.4.2.
  • Added call to customizer.php to initialize theme mods prior to analyzing child theme
  • Deferred copy_theme_mods until after child theme analysis. This allows hooks in Preview to initialize custom theme mods
  • Added mpriority (max priority) to CSS object to accommodate multiple irregular stylesheet hooks
  • Restored original (pre 2.4.1) version filter hook style_loader_src to child theme stylesheets to prevent caching
  • Strip closing php tag from functions.php to prevent premature response header
  • Fixed localization issues (thanks @alexclassroom for identifying these)
  • Modified style_loader_src hook to only add timestamp under certain conditions to prevent loading delay for most requests. (thanks @anthony750)
  • Automatically add action parent RTL stylesheet when child theme does not have one.
  • Handle case where parent theme changes queue action incorrectly points to non-existent child theme stylesheet.
  • Correctly copies customizer css to child theme.
  • Fixed PHP 7.3 compatability issue (thanks @forest-skills for identifying this)

2.3.x

  • strip scripts during template scan to prevent false positives
  • check file size during template scan to prevent timeout
  • changed syntax of statement that was being flagged by WP Defender
  • Fixed bug in screenshot copy.
  • Fixed incorrect reference to errors array in UI.
  • Added ability to rename @media query
  • Added height/Width for theme images on Files Tab
  • Added test for RTL in Analyzer
  • Added test cases for WP Rocket and AutOptimize plugins in Analyzer
  • Added redirect for error condition after configurator POST
  • Clarified descriptions for certain Analyzer signal conditions
  • Set priority of child theme css hook to force load after parent
  • Remove pruned selectors from menu

2.2.x

  • Modified preview to include all registered stylesheets in queue
  • Disable Autoptimize in preview
  • Added support for General Sibling Selector (~)
  • Fixed CSS class loading FALSE for dictionaries on fresh install
  • Fixed using wrong nonce for plugin mode preview (Pro)
  • Fixed error thrown when packing negative integers (Pro)
  • Disable Pagespeed in preview
  • Fixed Preview and Analyzer for some child theme configurations by removing nonce requirement
  • Fixed header not being repaired on first pass with “Repair Header” selected
  • Fixed styles being pruned before new “Raw CSS” styles are added
  • Fix bug in parent dependencies
  • Fix bug where stylesheet dependency arrays are not being initialized
  • Add action hook to extend copy theme settings feature
  • Display non active tabs, enable upgrade/register before config data is created
  • Show raw results after Analysis to help debugging
  • Fix javascript not escaping quotes in input fields
  • Restored original ajax preview and added fallback method for cross-domain preview
  • Fix in javascript affecting Pro users
  • Cross domain Parse error
  • Showing “reconfigure” message on new install
  • Manual upgrade Pro from plugin
  • Add pre_option stylesheet and template filters to Preview class
  • Use child theme name on duplicate
  • Ability to force/unforce dependency
  • Identify and handle imported stylesheets, convert to links
  • Fixes related to testing if CTC Pro is installed

2.1.x

  • change packer class to use standard < 5.4 array syntax
  • Loading dictionaries on demand
  • Reversed key/value dictionary structure for huge memory improvement
  • Added packer class to flatten multidim arrays for huge memory improvement
  • Reduced key name lengths throughout
  • Improved data validation on inputs
  • Require minimum Pro version ( Pro users only )
  • Move html output to separate view includes
  • Move theme mod routines to own functions

2.0.x

  • Fix: preview not parsing parent styles correctly when minimized.
  • Fix: cast argument to array in sort functions.
  • Updated Child Theme Configurator language template.
  • Updated child theme preview class to use is_theme_active and other methods to eliminate conflicts with Jetpack and any other plugin that references the customize manager.
  • Updated child theme preview class to send origin headers and run customize_preview_init action along with some other actions.
  • Added logic conditions in preview class to help prevent Analyzer from failing in some cases
  • Enabled theme zip file export for any selected theme independent of theme currently loaded in Configurator
  • Fixed bugs present with servers not running Apache with SuExec
  • Fixed issue with Windows servers that do not return C: with filesystem paths
  • Automatically set priority of enqueue hook based on value from parent theme
  • Made file scan routine more efficient
  • Support for background-image as base64 data
  • Tweaked analyzer signals
  • Updated language template and de_DE files
  • Fix: case where child stylesheet link was not being added resulting in “This child theme does not load a Configurator stylesheet” notice
  • Fix: fatal error in debug mode
  • Minor bug fixes
  • New Theme Analyzer automatically checks for issues and determines correct settings
  • Step by step setup of Parent/Child settings
  • Simplified parent stylesheet handling options
  • Option to write new child theme styles to a separate stylesheet
  • Uses WordPress style dependencies to ensure correct child theme stylesheet load order
  • Automatically repairs themes that use outdated stylesheet handling methods
  • Parses parent theme files and only displays templates that can be be overridden by child themes
  • Numerous minor bug fixes

1.7.x

  • Fix: regression bug in 1.7.9 causing new property menu to fail
  • Fix: use nonce when retrieving front-end html to parse default additional stylesheets
  • Refactored classes to make Child Theme Configurator more lightweight on front end
  • Fix: disable autoload on configuration data options
  • Fix: normalize media query and add to menu when added via raw css
  • Fix: Margin and Padding shorthand generated incorrectly.
  • Addressed case where parent or child theme is in subdirectory.
  • Minimized admin CSS.
  • Sanitize child theme slug
  • Remove cascade load order comments from generated CSS
  • Set admin background to prevent theme override
  • Refactored background normalization function to better follow CSS specification.
  • Check child theme exists function case-insensitive.
  • Changed chldthmcfg.init() call to fire on load instead of .ready() to prevent JS conflicts
  • Uses spectrum color picker to support transparency and named colors.
  • Refactored entire system to support fallback values for any property.
  • Fix path when duplicating child theme on first run
  • New Feature: “delete child values” button – easily revert custom styles in child theme stylesheet
  • Will not write child theme stylesheet if error detected in functions.php
  • Fixed minified JS
  • Restored multisite admin menu link under Tools by popular demand
  • Automatically Network enables new child theme on creation
  • Fix for FTP notice – now uses PHP_OS constant to detect win vs nix
  • Added duplicate child theme feature
  • added dismiss option to warnings by popular demand.
  • Changed @import tab to “Web Fonts.” @import statements are automatically converted to enqueued external links.
  • Added “Enqueue both parent and child stylesheets” option to enable child theme overrides without using @import.
  • Added checks for hard-coded link tags in header template to help resolve incorrect stylesheet load order.
  • Fix: “Enqueue child stylesheet” now passes correct value.
  • Fix: hide called before iris init
  • Fix: @import not being written on rebuild/configure
  • Fix: min height on property/value panel
  • Only prune child theme selectors on rename
  • Removed conflicting wistia javascript link
  • New Feature: Enqueue child theme stylesheet option for themes that do not load it.
  • New Feature: Child Theme and Author website, description and tag fields.
  • Fix: Redesigned UI Javascript using jQuery objects for better browser memory management.
  • Fix: Child Theme Stylesheet version is timestamped to force browser reload after changes.

1.6.x

  • Fix: Empty functions file created causing inserted markers to be output to browser.
  • Fix: check for closed PHP tag in functions file prior to inserting markers
  • Fix: undefined constant LILAEAMEDIA_URL
  • Fix: logic to determine whether to display config notice
  • Fix: incorrect path generation and validation on Windows servers
  • Added error handling and notification to prevent jQuery conflicts and out of memory conditions
  • Fix: removed max-height on property/value overlay
  • Added debug option
  • New Feature: Copy selector button for Raw CSS textarea on Query/Selector tab.
  • Fix: Menus rendering incorrectly for RTL locales
  • Fix: Border-top etc. not being written correctly to stylesheet
  • Fix: Refactored ajax semaphore logic and flow
  • New Feature: Better child theme handling for multisite. Moved interface to Themes menu and check for network enabled.
  • Fix: Restrict child theme configurator access to install_themes capability
  • Fix: Preview links to Themes admin if not network enabled to prevent ‘Cheatin, uh?’ error.
  • Fix: only users with “install_themes” capability have access to Child Theme Configurator. This resolves permission issues with both multisite and single site installs. MULTISITE USERS: The Admin HAS MOVED to Network Admin > Themes > Child Themes for better handling for multisite (network) installs.
  • Fix: Regular expression introduced in version 1.6.2 parses selectors incorrectly.
  • Fix: replaced wp_normalize_path with class method to support legacy WP versions
  • Fix: support for multiple layered background images
  • Fix: background:none being parsed into gradient origin parameter
  • Fix: support for data URIs
  • Fix: support for *= and ^= notation in selectors
  • Fix: add check if theme uses hard-wired stylesheet link and alert to use @import instead of link option
  • Fix: conflicts with using jQuery UI from CDN – using local version of 1.11.2 Widget/Menu/Selectmenu instead
  • Fix: using wp-color-picker handle instead of iris as dependency to make sure wpColorPicker() methods are loaded
  • Fix: copy parent theme widgets logic is different when child theme is active
  • New Feature: option to load parent stylesheet using wp_enqueue_style (link), @import or none.
  • Thanks to cmwwebfx and Shapeshifter3 for pushing me on this
  • New Feature: automatically-generated slug and name
  • New Feature: restore from backup and reset options
  • New Feature: backup files to “Child Theme Files” on Files Tab so they can be deleted
  • New Feature: Added new theme chooser select menu with screenshot, theme info and link to live preview.
  • Fix: Admin scripts now only load when CTC page is being viewed.
  • Fix: parent CSS preview to correctly display all parsed parent stylesheets in sequence
  • Fix: Refactored throughout for maintainability

1.5.x

  • New Feature: Load imported stylesheets into the CTC admin so web fonts can be previewed.
  • Set preview swatch to z-index -1 to prevent it from covering up the controls
  • Spread config data across multiple option records to prevent out of memory errors with large stylesheets.
  • Do not automatically select Bootstrap CSS files as additional stylesheets to (greatly) reduce overhead.
  • Add jQuery UI styles that are no longer being loaded by default in the WP admin (autoselect menus).
  • Fixed a bug in the way zero values are handled that was breaking css output in certain situations
  • Added regex filter for non-printable (e.g., null) characters in input strings
  • Fixed a bug introduced in v1.5.2(.1) that copied all of the parent styles to the child theme stylesheet. This should only be an issue for ‘background-image’ styles that reference images in the parent theme and do not have child theme overrides.
  • Rolled back changes to the javascript controller that introduced a number of type errors.
  • Tweaked preview ajax call to handle ssl.
  • Automatically set additional stylesheets to parse based on parent theme links in head.
  • Render parent CSS including additional stylesheets
  • Added copy option to Parent/Child tab to assign menu locations, sidebars/widgets, custom header, background, and other options to new Child Themes.
  • Refactored CTC to use the WP_Filesystem API.
  • Non suExec configurations will now require user credentials to add, remove or update Child Theme files.
  • Added the ability for you to make the files writable while editing and then make them read-only when you are done.
  • You can also set your credentials in wp-config.php: https://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

1.4.x

  • Removed backreference in main CSS parser regex due to high memory usage.
  • Fixed uninitialized variable in files UI.
  • Feature: export child themes as zip archive
  • Added transform to list of vendor properties
  • Bug fixed: parser not loading multiple instances of same @media rulesets
  • Refactored uploader to use wp core functions for compatibility and security
  • Increased CHLD_THM_CFG_MAX_RECURSE_LOOPS to 1000 to accommodate complex parent frameworks
  • Fix: javascript bug
  • Fix: regression bug – sanitizing broke raw input selectors
  • Fix: escape quotes in text inputs. This has bugged me for a while now.
  • Fix: Escape backslash for octal content values. Thanks Laurent for reporting this.
  • Fix: Normalize colors to lowercase and short form when possible to prevent duplicate entries in the data
  • Refactored the way CTC caches updates and returns them to the UI controller to reduce memory consumption.
  • Prevent out of memory fatals when generating new child themes.
  • Changed “Scan Parent for Additional Stylesheets” to individual checkbox options for each file with a toggle to show/hide in the Parent/Child tab.
  • Added automatic update of form when Parent Theme is changed.
  • Pre-populate Parent/Child form when parent slug is passed to CTC options.
  • updated parser to match selectors containing parentheses and empty media rulesets
  • Tweaked the Files tab options and added check for DISALLOW_FILE_EDIT
  • Removed automatic @import rules for additional stylesheets that are loaded.
  • Fixed bug caused by new jQuery .css function handling of empty css values (preview swatch).
  • New Feature: Theme Files tab:
  • Copy parent templates to child themes to be edited using the Theme Editor.
  • Remove child theme templates.
  • Upload child theme images.
  • Remove child theme images.
  • Upload child theme screenshot.

1.3.x

  • Fixes a bug with the way the @import data is stored that threw errors on php 5.3 and corrupted v1.3.2 @import data.
  • New Feature: option to scan parent theme for additional stylesheets. This allows CTC to be used with themes such as “Responsive” by CyberChimps.
  • New Feature: automatically copies parent theme screenshot to child.
  • Fixed unquoted regex pattern in file path security check function. Thanks to buzcuz for reporting this.
  • Updated help tab content. Added additional sanitization of source and target file paths.
  • Changed CSS preview to retrieve directly from WordPress Admin instead of remote http GET to prevent caching issues.
  • Added loading icon for CSS preview.
  • Fixed JS type error on backup toggle.
  • Improved extensibility throughout.

1.2.x

  • Replace PHP short tags with standard codes.
  • New Features: You can now rename selectors in place from the Query/Selector panel. Made stylesheet backup optional. Bugs fixed: Incorrect parsing of background position when ‘0’, fixed type error when background image url value is removed.
  • Bugs fixed: “star hack” properties no longer throwing js error. Important flag now works on borders and gradients.
  • New features: Link to Query/Selector tab from specific Property/Value selector, new property focus on adding new property. Bugs fixed: clear Query/Selector inputs when loaded selector is empty, use latest min.js script.

1.1.x

  • Added check for writability before attempting to create child theme files to avoid fatal error on servers not running suEXEC. Fixed a bug in the ctc_update_cache function that was throwing a fatal JS error when new media queries were saved via the Raw CSS input. Configurator now adds functions.php file to child theme when it does not exist.
  • Added reorder sequence and important flag functionality. Fixed bug where multiple inputs with same selector/property combo were assigned the same id. Fixed bug in the shorthand encoding routine.
  • Added tutorial video to help tabs.
  • Added call to reset_updates() before update_option() to prevent serialization errors.
  • Query/Selector panel now defaults to ‘base’
  • Fixed bug causing background-image with full urls (http://) to be parsed as gradients
  • Fixed bug causing property menu to throw error when selector has no properties
  • Fixed sort bug in shorthand parser that was returning properties in wrong order
  • Fixed bug that assumed lowercase only for theme slugs. (Thanks to timk)
  • Fixed update redirect to execute on first run
  • Small bug fix to javascript (casting number to string)
  • Fixed major bug where inputs containing ‘0’ were being ignored
  • Removed “no leading digits” requirement for theme slug
  • Change query sort function to keep parent order of queries without device width rules
  • Fixed gettext calls to use static namespace parameter
  • Auto populate child theme inputs when existing theme is selected
  • Correctly remove border when values are blanked
  • Fixed duplicate “new property” bug on Query/Selector panel
  • added timestamp to backup file
  • Added encode_shorthand function to recombine margin/padding values when all 4 sides are present
  • Corrected parsing for certain backgrounds and gradients (e.g., supports hsla color syntax)
  • Handle empty selectors
  • Ajax load for menus and updates
  • Clean up Parent/Child form UI and validation
  • Streamlined UI overall

1.0.0

  • Initial release.

Never had an issue!

By sayna on March 7, 2024

Works as it should, faced no issue and problem, using it for months! thanks :)

I LIKE it!

By (gilgongo) on October 19, 2023

Ooh yar! This plugin makes the best of the utterly weird and crazy Wordpress "child" thing with themes. Life is now so much easier.

Change Log not being Updated

By Robert Lewis (bob2715) on October 2, 2023

Last entry in Change Log is 2.6.1 - nothing for 2.6.2 or 2.6.3????

Perfecto!!! Gracias

By Robertoman on September 7, 2023

Muy facil de utilizar. Muy confiable.

Messed my original child theme

By th4nky0u on July 30, 2023

I just wanted to change the title of my child theme.
This extension completely messed my child theme and I had to restore my site to an earlier backup to get it back to normal.

Excellent and easy to use plugin

By migmor on May 17, 2023

I have used it on several occasions, and it has always worked well for me. It deserves 5 stars.

Excellent Plugin

By Joseph (josephapeke) on May 2, 2023

Works perfectly without breaking the site.

Worked flawlessly

By dareadel (h2ofilters) on January 31, 2023

I wish I can give more than 5 stars. I completed a site and then realized it would be a good idea to create a child theme. I was afraid I will lose a lot of customizations. I used one plugin for another site but I ended up to manually redoing all the stylings. But this config plugin did EVERYTHING. Once I created the child theme the plugin does everything I wanted.

easy to use

By athlonme on January 22, 2023

the best plugin make Child

easy and fast

By drichter on October 15, 2022

I'm using wordpress 6.0.2 and it worked perfectly. Many plugins copy the original theme, but this one also copies all the adjustments you made in the original theme, so that the child looks exactly like the original. And then you can start over with the advantages of a child theme.
Try other plugins too!

Kirki Customizer Framework

The Ultimate Customizer Framework for WordPress Theme Developers

Try Demo

WP Updates Notifier

Sends email to notify you if there are any updates for your WordPress site. Can notify about core, plugin and theme updates.

Try Demo

Multi Device Switcher

Multi Device Switcher plugin allows you to set a separate theme for device (Smart Phone, Tablet PC, Mobile Phone, Game and custom).

Try Demo
Screenshots

Try Child Theme Configurator With InstaWP

Contact Sales

Reach out to us to explore how InstaWP can benefit your business.

Request demo

Wondering how to integrate InstaWP with your current workflow? Ask us for a demo.