I'm rather new to designing and coding Wordpress themes and have recently started a child theme based on the Sydney theme that's offered free in Wordpress. I have hit a snag I can't work out.
There's a PHP file being called through the parent's functions.php
that I need to customize and need to be untouched when I update the parent theme. This file is called template-tags.php
and is located inside an "inc" folder. Now, supposedly, according to the Wordpress codex (which I have consulted before asking here), any duplicate files on the child theme (except the functions.php
) will automatically override those in the parent theme. I don't know if this works as well for files inside folders but I think the fact that this particular file is being called in the parent's functions.php
makes it so that it is the parent's file that is being loaded. I am assuming this because the same goes for the style CSS and JS script files that I had to enqueue in the child theme in order to get my own customized versions in.
However, there is nothing in the Wordpress codex that explains how to override a file that is being already called in the parent's functions.php
. And I can't find anything anywhere else (not even in these questions: WordPress child theme override a parent theme include, Overiding parent theme functions with a Child theme in WordPress, How to override a not plugable parent theme function from a non function.php file?, Wordpress child theme - functions.php copy - cannot "redeclare") that helps me specifically.
So, to sum it all up:
- The parent theme has an "inc" folder with the file
template-tags.php
in it. - My child theme also has an "inc" folder with the file
template-tags.php
in it. The parent theme's
functions.php
has the following code that calls its file:require get_template_directory() . '/inc/template-tags.php';
Anything I try to add in my child's
functions.php
file that calls itstemplate-tags.php
file will result in an error because obviously WP can't require the same thing twice.
Short of commenting out the call in the parent's functions.php
, which does't seem to me a practical solution but more of a work-around, I have no idea what else to do.
I would appreciate any input at this time. Thanks in advance!