Should we use get_template_part() in functions files instead of include_once?

I’m using the theme-check plugin to check my theme for errors and recommendations, I’m using get_template_part() in theme files like header.php and index.php but in functions.php I’m using include_once() theme-check is not pointing at these, it’s pointing at include_once used in a widgets.php file which is included in functions.php

my question is should we use get_template_part() instead of all include_once() and include() or just use it for getting frequently used markup only ? I know it’s only recommended to use get_template_part() but I like to follow best practices and recommendations.

Read More

thanks in advance.

Related posts

Leave a Reply

1 comment

  1. Your functions.php doesn’t create output, so you should use locate_template().

    Example:

    locate_template( 'php/functions.nav-menu.php', TRUE, TRUE );
    

    You’ll find this function in wp-includes/theme.php. The first parameter is the file path relative to the theme root, the second tells WordPress to load it (or not), and the third to load it just once.

    Now a child theme can override the file by just placing a file with the same name to the same place in its own theme root.