从子主题修改父主题中加载的文件

时间:2017-08-14 10:11:24

标签: wordpress parent-child

我正在尝试使用我自己的文件在子主题中自定义“inc / general-layout.php”文件,现在在父主题中,但我无法调用正确的文件。

以下是我在parent.php文件中的内容:

*  define constants
define('TRANSPORT_THEME_DIR', get_template_directory());
define('TRANSPORT_THEME_URL', get_template_directory_uri());

*  listing of core files
$transport_loading = array(
    'inc/init.php',
    'vendor/vendor.php', 
    'inc/theme-setup.php',
    'inc/widgets/widgets.php',
    'inc/lib/pagination.php',
    'inc/lib/image-resize.php',
    'inc/assets.php',
    'inc/general-layout.php',
    'inc/blog-layout.php',
    'inc/lib/login-form.php',
    'inc/comment.php',
    'inc/metabox/metabox.php',
    'inc/location-filter.php',
    'inc/woocommerce-support.php',
    'inc/plugins-support.php',
);
transport_loader($transport_loading);


 * loader file
function transport_loader($files) {
    foreach ($files as $file) {
        transport_inclusion($file);
    }
}

 * file inclusion
function transport_inclusion($path, $require = true, $once = true, $return=false){

    //default: require_once
    if($once){
        if($require){
            require_once trailingslashit( get_template_directory() ).$path;
        }
        else{
            include_once trailingslashit( get_template_directory() ).$path;
        }
    }
    else{
        if($require){
            require trailingslashit( get_template_directory() ).$path;
        }
        else{
            if($return){
                return include trailingslashit( get_template_directory() ).$path;

            }
            else{
                include trailingslashit( get_template_directory() ).$path;
            }

        }
    }
}

我已经研究了从父类function.php中删除操作的方法,但是没有设法让它在这里工作。我相信可能有一种更简单的方法。我很高兴有任何建议吗?

1 个答案:

答案 0 :(得分:0)

在您的子主题中创建文件夹inc并插入general-layout.php的编辑副本。 Wordpress将覆盖它。