You can include any template you want using get_template_part()
e.g.:
<?php get_template_part('navigation'); ?>
Using this function also gives you child/parent theme support.
Also of note, you could put:
<?php get_template_part('navigation','search'); ?>
Which would attempt to load navigation-search.php
, but if that isn’t found or doesn’t exist, it will fallback and load navigation.php
instead.
I use this in my personal code to make loading different excerpts for different post types easier, e.g.:
get_template_part('excerpt',$post->post_type);
It will load excerpt.php
by default, but I could override it for any post type I wish e.g. excerpt-page.php
As a sidenote, use this function only for template files, do not use it as a general purpose include statement, e.g. it would be a bad idea to load a PHP library or a configuration file this way.