0

I have created a custom file that both the header and the footer needs to render certain content.

If I only do include($_SERVER['DOCUMENT_ROOT'] . '/wp-content/themes/myTheme/myCustomFile.php'); in the header.php file it works as expected BUT only in the header.

Likewise with the footer, If I only do include($_SERVER['DOCUMENT_ROOT'] . '/wp-content/themes/myTheme/myCustomFile.php'); in the footer.php file it works as expected BUT only in the footer.

The moment I have the include on both files, the page renders up until the footer starts and then stops rendering.

How can I include this file so it can be accessed from anywhere in the theme?

I also tried the other import methods in PHP - require, require_once, and include_once – same deal.

Thank you in advance.

  • myCustomFile.php is in theme directory, so just add include 'myCustomFile.php'; in both files (footer and header). Do you have function or class definitions in included file? – nmr May 13 '19 at 6:59
  • @nmr thanks, but still not working. Same thing is happening, the page renders fine up until the footer and then stops rendering. But the header renders the information from myCustomFile.php fine. I do have functions in the custom file, but I don't think they are interfering because then it would not render on the header. – Sergio May 13 '19 at 7:05
1

You wrote that you have a function definition in file that you include. I suspect that the reason is the function redeclaration error.

You should move the function definition from myCustomFile.php to functions.php.

You can also before each function definition in myCustomFile.php check whether there is already a function of the same name.

if ( ! function_exists('you_function_name') ) {
    function you_function_name() {
        // ...
    }
}
|improve this answer|||||
  • moving the functions into the functions.php file worked. thank you. – Sergio May 13 '19 at 7:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.