ThemeShaper Forums » Thematic

[closed]

A few questions..

(15 posts)
  • Started 6 years ago by Jagst3r15
  • Latest reply from helgatheviking
  • This topic is resolved
  1. wow so I ventured into hardcore wordpress/thematic php stuff for about the first time today and I admit that I am quite confused. And of course I had too read an article about how child themes are no good for developers in the long run since they break on you a lot of the time when updating (I think it was by justin tadlock - the creator of Hybrid). So, what do you guys think about child themes...from what I understand as long as you don't go trying to add new page templates and/or crazy php stuff you can use a child theme and update it quite easily...

    Posted 6 years ago #
  2. middlesister
    Member

    It all depends on what you want to do. I believe the article you are referring to is http://justintadlock.com/archives/2010/08/16/frameworks-parent-child-and-grandchild-themes . I have read it too, and it has some valid points. The thing you need to consider is what your are making and for whom. His article is written from the developers perspective, assuming you are releasing your themes for the public. It seems to me from your earlier threads that this is what you want to do so I'll see if I can clarify some points here. Forgive me if the answer gets a bit long. :)

    In essence, Thematic is an advanced parent theme and not a framework like for example the Hybrid Core framework. A "proper" framework is not something you can plunk into the wp-content/themes folder and activate like you can do with Thematic. The idea with the parent/child theme relationship is of course that you can use a child theme to make your own customizations and be able to upgrade the parent theme without losing any information.

    There are several ways you can take advantage of Thematic:

    1. Make a child theme for yourself. Many people use Thematic this way. Maybe they can get their head around css but don't know enough php to actually create a theme of their own. For them Thematic is a perfect way to create something good looking without worrying too much about all the nuts and bolts underneath. Their functions file might contain just a few customization filters, snippets taken from here and there to get them where they want. Maybe the biggest changes are made with css only.
    2. Make a child theme for a client. Some people are working with clients and building custom made themes for them. For these people, using Thematic gives them a great head start in development while it's still flexible enough that they can bend and twist it into their will. Maybe using custom post types, custom taxonomies, template files and other "heavier" modifications. Or, for simpler needs, the developer just creates a good looking "skin" as a child theme. The end user would probably not do major tinkering with the theme but come back to the developer for any modifications.
    3. Releasing/sellling a child theme to the public. There are some really good premium Thematic child themes out there. Nothing is stopping you from creating something stunning and charging for your efforts. And nothing is stopping you from creating a child theme and releasing it for free either :-)
    4. Use Thematic as a base to create your own framework/parent theme. This is also something you can do. The nature of GPL means you are free to take the code and create something new with Thematic as a base. Meaning making your own advanced parent theme for you or others to create child themes from.

    Justin's reservation is concerning #3. If the child theme concept was created for easily making customizations to your theme, what do you do when the theme you want to customize already is a child theme? In Justin's case, many people made customizations to his child themes, making it hard for him to release upgrades without them using all their efforts.

    You need to consider the probability of this scenario. What is your audience? Bear in mind that lots of people simply want something that works out of the box without too much tinkering. Is it likely that they will want to make heavy edits to your theme or can you provide the more common customizations in your theme options? How tech-savvy are they?

    There is a way for end users to eat the cake and have it too. The idea comes from Otto and he calls it site specific snippets plugin: http://ottopress.com/2011/creating-a-site-specific-snippets-plugin/ . The user would create a file with a plugin header and put it in wordpress plugin folder and activate it like a plugin. Now, this file is where all the customizations would take place, adding actions and filters and what have you. They can even edit the file from within the wordpress admin! Now when they want to upgrade, no information is lost since they have not edited any theme files. This unfortunately requires users that are a bit tech-minded but seems to me the best approach.

    Otherwise, the end user would need to keep a backup of their files and re-apply any customization/edits they have made upon each upgrade of the child theme. This really is a headache on the users' part, even though it is nice of you (the developer) to take it into consideration. I have a feeling that Justin's audience are a bit more tech-savvy than your average Joe and used his child themes like a starting point for their own development efforts. I might be wrong though, even "simple" css edits are customizations that are annoying to lose.

    So again, regarding your question, it depends on what you want to do and how likely it is that the end users will edit their child theme. You can go ahead and make you child theme as complicated as you wish, add page templates, custom post types, whatever you want. Updating the child theme will not break anything. It is only if/when the end user has made their own changes to the code that upgrades become more difficult but this is nothing you as a developer can control.

    Posted 6 years ago #
  3. Thanks for the response middlesister :). I think #3 is a big point of contention as well, but I am wondering if building an excellent theme options panel would take away a lot of the problems. I was planning on making a child theme with about 5 different color options to choose from, the ability to add a custom logo, pick featured categories, inject Google Analytics into the footer, add a favicon, and a bunch of other things I just can't think of right now. I am in the process of building my own from scratch, but it currently only has a couple working features (analytics and a semi-working add logo thingy). In theory I think this would be a great long term solution, but I may have to hire a php developer to really help me and make sure I don't do things wrong.

    Posted 6 years ago #
  4. no real need to write an options panel from scratch:

    devin price made a kick ass plugin that will do it for you.
    http://wptheming.com/options-framework-plugin/

    i think there are 1 or 2 others too... but since he's a thematician from back in the day i use his.

    Posted 6 years ago #
  5. Yes but IMO isn't it more professional to have your own Theme Options panel that comes with the theme?

    Posted 6 years ago #
  6. If it wouldn't take anyone too long, could you see if this http://net.tutsplus.com/tutorials/wordpress/how-to-create-a-better-wordpress-options-panel/ could easily be ported for thematic child themes? I have tried but cannot get it to work...the source files are there. I know I could easily use Devin Price's plugin, but I like these options and the appearance of it.

    Posted 6 years ago #
  7. if you want to package your own, you can do that with his... he's got a sample in a sub-folder i think. and then maybe just change the styles. i'm usually opposed to creating stuff from scratch when well-made solutions are already available .... even if i am often guilty of it.

    regarding the link.... in general "can't get it to work" doesn't actually help anyone help you b/c it doesn't tell us where you are having trouble. just a tip for getting better support in future. while it is sort of beyond the scope of this forum, and w/o looking too closely, i am going to guess that most of the stuff you need to copy over is in their functions.php and there shouldn't be anything that needs to be changed for thematic since most of the admin panel stuff use WP's hooks. alot of the other sections probably lhave to do w/ enacting the choices made by the options panel. probably also need to copy the admin styles into their own file and enqueue it on the options page.

    Posted 6 years ago #
  8. Thanks for the reply helga. I'd rather not dig into the file again so close to bedtime since my brain is already fried for the day, so I'll just ask a general question instead. For Devin's options framework, can you simply upload his to the directory and BAM it is there under the appearance tab? or, do you need to dive into the code to the files and edit things out (this is risky for a php noob like me since I am not too familiar with it.....yet).

    Posted 6 years ago #
  9. middlesister
    Member

    I don't know if it's "more professional" to do everything yourself. It sure can be a good learning experience, but sometimes the professionalism lies in knowing what tools to choose for each project instead of creating everything yourself from scratch. I would only bother if there is a specific feature I need that I can't get otherwise, or if I think I know a better way of doing it (and how likely is that). There is no need to reinvent the wheel.

    Posted 6 years ago #
  10. understand the fried brain thing. theme options seems like sort of a complex thing to be tackling as a php noob.

    you can definitely upload his to the plugin's directory and get an automatic options panel. well, you have to define your options in an options.php, but he gives you a sample one to copy. it couldn't be easier.

    to bundle it into your theme, read this when you aren't as fried.
    http://wptheming.com/options-framework-theme/

    agree w/ middlesister... sometimes professional is knowing which tools to use. you won't have to worry about updating your options code b/c it will get updated in the repo.

    Posted 6 years ago #
  11. thanks for the responses. I am by no means a professional with WordPress, so forgive me if I am being stubborn :).

    On a sidenote, I think I finally understand what a framework really is....from what I can gather, a company will use a framework such as Thematic and simply tweak some things and brand it as their own -- meaning, Thematic is just as powerful as many, but for the sake of branding and getting the framework to their liking, companies will tweak it. I think this is actually kind of easy for people versed in php since you just gotta change all the variable names from thematic to like awesomeframework or whatever it might be...

    Posted 6 years ago #
  12. So I guess what I am finally realizing is that Child Themes are NOT the option for someone who plans on releasing themes (meaning, a child theme would be great for building a client a site, but not for general distribution since havoc would ensue when updates are released. So...Let's say I want to create my very own parent theme that I could use for multiple projects. How would I do this? Is there a way to create a Parent theme by plundering Thematic code or could I do this with a theme like Toolbox and just change all of the variable names? I am so close to wrapping my head around this whole thing yet still so far away :(

    Posted 6 years ago #
  13. middlesister
    Member

    Havoc might ensue, but it also might not. You can ask the developer of for example Gallery theme or Autofocus on how they deal with it. Genesis is another framework that many developers use to make child themes on top of for public release.

    If you are looking at no 4 above, you are free to do whatever you want with the code in order to build a parent theme for yourself. That is the nature of GPL. I don't think you *have* to change every function and variable name, but you need to make it very clear that your code is a derivative and where it comes from.

    In order to do this just copy the theme files, rename the theme to what you want and hack away at the core files. Just bear in mind that you will lose the benefit of using a framework. You will need to keep it up do date with wordpress yourself and of course you will also need to keep track of Thematic updates if you wish to encorporate them as well. The benefit of the child theme concept is that some of this "keeping up to date" is handled by that parent theme. You will need to do this yourself when you make your own parent theme, i.e. a "normal" theme since there is no difference between them.

    Your choice.

    To me it seems a big(ger) undertaking from a beginners perspective. Unless your desired changes are major I wonder if it is worth it. I suggest start with a child theme. Learn about actions and filters (since this is how you customize wordpress itself and not just Thematic). If you want to use the code for a (parent) theme of your own then getting to know the code you are going to use is a good idea.

    Posted 6 years ago #
  14. Trust me the last thing I wanna do is create from scratch because I would probably cause more harm than updating a child theme might lol. I wonder if using devin price's theme options with a few added choices would help at all and if you can make it so people can export the options they have to back them up or something.

    Posted 6 years ago #
  15. don't know if devin does that yet, but the Woo framework exports and imports theme options. w3c total cache also imports/exports its plugin options

    Posted 6 years ago #

RSS feed for this topic

Topic Closed

This topic has been closed to new replies.