Wordpress子主题无法覆盖inc文件的父主题

时间:2017-10-25 19:10:29

标签: php wordpress function-overriding

我对WP很新。我使用的是具有默认搜索栏的shop-isle主题。我尝试使用自定义搜索覆盖此搜索功能。

主题标题从目录shop-isle / inc / structure / header.php加载。我将整个目录复制到我的子主题目录并进行了编辑,但它不起作用。我在其他帖子上读到,inc文件无法被覆盖,因为它们不是模板文件。我尝试取消加载标题的函数,但一起删除标题!

主header.php调用shop-isle / inc / structure / header.php。使用

    <?php do_action( 'shop_isle_header' ); ?>

位于shop-isle / inc / structure / hooks.php的hooks.php具有使用

注册的回调函数
add_action( 'shop_isle_header', 'shop_isle_primary_navigation',   50 );

我已将所有这些文件复制到我的子主题,因此我可以编辑shop_isle_primary_navigation回调函数,但它不会覆盖父文件。

1 个答案:

答案 0 :(得分:1)

您应该将修改后的shop_isle_primary_navigation函数放在子主题functions.php中。

子主题函数在父主题的函数之前加载。由于它们包含在if ( ! function_exists ( 'some_function' ) ) { ... }中,因此不会加载它们。

无需将所有内容复制到子主题目录。