WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do I add stuff to themes such as Arjuna-X without losing it when the theme is updated? Are child themes a good way to do it or are there other options? What if a new version of the theme comes out with native support for a feature I added?

share|improve this question
What is Arjuna-X? – hakre Aug 17 '10 at 14:04
A popular theme. – Arlen Beiler Aug 17 '10 at 16:01
Downloadable from the themes section. – Arlen Beiler Aug 19 '10 at 3:17
up vote 9 down vote accepted

There are three ways to do this


Put your additions in functions.php and back up that file before you update your theme. Then you can port over any additions as necessary.

Child theme

Build a child theme that adds the functionality - in reality, this would be an even better way to use a custom functions.php file because it wouldn't be overwritten by updates.

Custom plug-in

Completely isolate the new functionality from the theme and add it in using WordPress' hooks and filters. This way, you lose nothing in upgrades and can selectively turn off features if/when native support is added by the themes.

share|improve this answer

My vote would go toward making a plug-in. Won't be overwritten by theme updates, and you can re-use it on other WP sites. Writing plug-ins also helps one learn WordPress.

share|improve this answer

child themes is a great way, when yout feature a topic of the theme is; other is better as plugin. When you use a child theme, the is it great, when you use get_template_part() and not copy the complete template; its better for update the template and also use hooks for inlcude fetures in themes - better as the new template in the child theme; example. you will add a script to the head; use wp_enque_script or wp_head and not copy header.php in your child theme and add this in the code. When update the header.php in the basis-theme than wotks the update fine.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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