如何从wordpress中的儿童主题扩展课程?

时间:2018-08-15 14:38:54

标签: php wordpress wordpress-theming

我正在尝试扩展以Parent为主题的类,但是当我尝试将类添加到functions.php文件中时出现致命错误,表示未找到父类。我的课是这样的:

class MyClasss extends ParentTheme_Templates {
public static function header() {
    $type = ParentTheme_Global::instance()->get_header_type();

    get_template_part( 'mycomponents/headers/header', $type );
}

但是我可以在我的模板文件(我在header.php文件中尝试过)中为类使用相同的代码,并且它可以工作,但这不是我认为的正确方法。因此,有没有适当的方法可以做到这一点。我可以在抄本中看到:

  

与style.css不同,子主题的functions.php与   从父级覆盖其对应项。而是将其加载到   除了父母的functions.php。 (具体来说,它已加载   就在父母提交的文件之前。)

有什么办法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

子主题在父主题之前加载,因此您需要在挂钩中定义该类,该挂钩在父主题加载之后运行,这样就可以扩展父主题类。 after_setup_theme是合乎逻辑的选择。

function mytheme_includes() {
    require_once get_theme_file_path( 'includes/class-my-class.php' );
}
add_action( 'after_setup_theme', 'mytheme_includes' );

感谢@jakept