I have a parent theme with 2 widget areas, header, sidebar, and footer, the header and the footer have 2 simple text widgets in them.

When I switch to the child theme which consists of just style.css and functions.php to enqueue the stylesheet, both the widgets are removed, they are also not in the inactive widgets area.

Is there a method for ensuring that the widgets are not lost when the themes are switched?

1 Answer 1


I think you should check your parent theme functions.php for code which should load widgets and copy & paste such code to child theme functions.php file. It should work.

  • I tried this but I get a can not re-declare error, because the widget are does still exist when the child theme is activated it's just the widgets themselves that disappear.
    – Naz
    Commented Dec 29, 2016 at 16:41
  • You should add such code to check if function already exists: if (!function_exists('functionName')) { function functionName(){ } }
    – Taras
    Commented Dec 30, 2016 at 16:14
  • How will that help as the function will always exist?
    – Naz
    Commented Dec 30, 2016 at 17:38
  • @Naz, in my example your child theme function will override parent theme function with the same name. It will remove possible errors in case if you use some functions in child theme which possible does not defined.
    – Taras
    Commented Jan 3, 2017 at 12:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.