get_template_part gibt NULL zurück

Ich mache eine einseitige Seite. Ich habe eine benutzerdefinierte Schleife, die an die Navigation angeschlossen ist, so dass nur die Posts, Seiten, die in der Navigation sind, in der Schleife angezeigt werden. Ich habe festgestellt, dass die Verwendung von get_template_part keine Vorlagen zurückgibt. Ich habe es einer Variablen zugewiesen, um es zu überprüfen und bekam NULL.

if (($locations = get_nav_menu_locations()) && $locations['primary'] ) { $menu = wp_get_nav_menu_object( $locations['primary'] ); $menu_items = wp_get_nav_menu_items($menu->term_id); $pageID = array(); foreach($menu_items as $item) { if($item->object == 'page') $pageID[] = $item->object_id; } $args = array( 'post_status' => 'publish', 'post_type' => array( 'post','page' ), 'order' => 'ASC', 'orderby' => 'menu_order', 'post__in' => $pageID, 'posts_per_page' => -1, 'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1 ); $home_query = new WP_Query($args); } if ( $home_query->have_posts() ) : while ( $home_query->have_posts() ) : $home_query->the_post(); ?> ID, '_wp_page_template', true ); if( $template_name != 'default' && $template_name != 'template-home.php') : ?> <li id="page_">   <li id="page_"> switch($template_name){ case 'template-band.php': get_template_part('template', 'band.php'); break; case 'template-band.php': get_template_part('template', 'contact.php'); break; case 'template-band.php': get_template_part('template', 'discography.php'); break; case 'template-band.php': get_template_part('template', 'gallery.php'); break; case 'template-band.php': get_template_part('template', 'news.php'); break; case 'template-band.php': get_template_part('template', 'scroll.php'); break; case 'template-band.php': get_template_part('template', 'shows.php'); break; case 'template-band.php': get_template_part('template', 'video.php'); break;    

Was ich über WordPress herausgefunden habe, ist, dass wenn man versucht, Seiten auf die Titelseite zu laden, es im Grunde alles außer dem Text im visuellen Editor ignoriert. Vorlagen und die meisten anderen Formatierungen werden nicht angewendet. Was ich nicht herausgefunden habe, ist: Warum?

Solutions Collecting From Web of "get_template_part gibt NULL zurück"

Wie die Codex-Seite von get_template_part() sagt:

get_template_part gibt keinen Wert zurück und warnt nicht, wenn keine übereinstimmende Vorlagendatei gefunden wird.

Zusätzlich:

Wenn Sie von Fehlern erfahren möchten, verwenden Sie:
< ?php assert( "locate_template( array('$name-$slug.php', '$name.php'), true, false )" ); ?>

Kein Wunder, dass Sie nichts zurückbekommen.

Eine Sache, die ich sehe, ist, dass Sie die Dateierweiterung dem Parameter $name hinzufügen. Was im Wesentlichen bedeutet, dass Sie nach Dateien mit dem Namen suchen: slug-name.php.php , ich bezweifle, dass das ist, was Sie wollen. Die Dateinamen sind wie {$slug}-{$name}.php : {$slug}-{$name}.php , was bedeutet, dass get_template_part() die Dateierweiterung automatisch hinzufügt, wie Sie durch einen Blick in die Quelle erkennen können , abgesehen davon ist dies explizit auf der Codex-Seite angegeben .