[wp-hackers] Child Themes in OOP flavour

Filippo Pisano filippo.pisano at gmail.com
Fri Nov 29 11:10:14 UTC 2013


Thank you guys,

your solutions are really interesting.
I'll give a try and reorder my code by adding a couple of actions.

Thank you!

Filippo Pisano
cel: 3291821355 / skype: filippopisano


On Fri, Nov 29, 2013 at 12:08 PM, Nikola Nikolov <nikolov.tmw at gmail.com>wrote:

> What Thomas suggested, except for maybe I would hook onto the
> 'after_setup_theme' hook with priority 0 - the reason for this is that this
> way you wouldn't be able to make a mistake - as in let's say that for some
> reason you include another vital file(containing a class definition) after
> you call your custom action - this way, you can get a fatal error(well
> obviously that's something you can't miss, but still).
>
> Anyway - my thinking is that it might be better to do extensions in the
> child theme after the theme is completely set-up(this means all code in
> child and parent theme's functions.php completes executing.
>
>
> On Fri, Nov 29, 2013 at 1:01 PM, Thomas Scholz <info at toscho.de> wrote:
>
> > Hi Filippo,
> >
> >
> >  As you know, child themes' functions.php is *always* loaded before the
> >> parent theme's one thus making impossible to create a hierarchical OO
> >> class structrure between child and parent theme.
> >> What I'd like to do is to use MyThemeClass as the parent class for
> >> MyChildThemeClass (extended example: http://pastebin.com/KfufXTKM) and
> be
> >> able to override parent's methods when needed.
> >>
> >
> > Offer a custom action in your parent theme:
> >
> > # parent
> >
> > new Parent_Theme;
> >
> > class Parent_Theme
> > {
> >     public function __construct()
> >     {
> >         // set up autoloader, basic config etc, then
> >         do_action( 'parent_theme_loaded', $autoloader, $config, $this );
> >     }
> > }
> >
> >
> > # child
> >
> > add_action( 'parent_theme_loaded', 'child_theme_init', 10, 3 );
> >
> > function child_theme_init( $autoloader, $config, $parent )
> > {
> >     // load your classes, set up child theme config
> > }
> >
> >
> > Thomas
> >
> > _______________________________________________
> > wp-hackers mailing list
> > wp-hackers at lists.automattic.com
> > http://lists.automattic.com/mailman/listinfo/wp-hackers
> >
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>


More information about the wp-hackers mailing list