如何在子主题中关闭“Get_Parent_Theme_FILE_PATH”?

时间:2019-01-09 作者:kibus90

我有2017主题,我想关闭DOM中的generate SVG(社交图标菜单)。

https://i.imgur.com/HZCqOgV.png

我怎样才能关掉它?我不使用社交图标,但它是g

在功能中。php我的父主题我看到了:

require get_parent_theme_file_path( \'/inc/icon-functions.php\' );
如何在我的子主题中重写它以避免生成它?

提前谢谢你。

2 个回复
最合适的回答,由SO网友:mrben522 整理而成

如果你看get_parent_theme_file_path() 它返回apply_filters( \'parent_theme_file_path\', $path, $file );您需要在此处添加一个过滤器,以将位置覆盖到子主题中的某些内容,如下所示。

add_filter(\'parent_theme_file_path\', function($path, $file) {
    if ($file !== \'/inc/icon-functions.php\') {
        return $path;
    }

    $path = get_stylesheet_directory() . \'/\' . $file;

    return $path;
}, 10, 2);
您仍然需要有一个文件才能在子主题中的该位置找到它,但您可以在其中放置任何需要的内容。

SO网友:mahdi azarm

创造/inc/icon-functions.php 在您的子主题中创建文件,并根据需要进行修改!

编辑

你必须钩住parent_theme_file_path 要告诉wordpress从子主题加载文件,请使用以下代码:

function override_parent_theme_file($path,$file) {
     if ($file == \'/inc/icon-functions.php\')
          return get_stylesheet_directory() . \'/\' . $file;
}
add_filter(\'parent_theme_file_path\',\'override_parent_theme_file\',10,2);
如果要覆盖以这种方式包含的其他文件,也可以删除if语句。

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c