Zugreifen auf $ post-Variable aus dem Schablonenteil

Hier ist ein Codeabschnitt, den ich in einer Vorlagendatei habe – um die Unternavigation anzuzeigen, wenn die Seite untergeordnete Seiten hat:

  $post->ID)); ?>   

Der Code funktioniert gut in der Vorlagendatei page.php , aber wenn ich alles in eine neue Datei – nav.phpnav.php und dann mit Dann hört es auf zu arbeiten.

Wie kann ich es so einstellen, dass die $post Variable immer noch funktioniert? Muss ich etwas mit globalen Variablen machen?

Solutions Collecting From Web of "Zugreifen auf $ post-Variable aus dem Schablonenteil"

Ist Ihr Dateiname ‘include-nav.php’ oder befindet er sich im ‘include’ Ordner?

Wenn nicht, dann rufen Sie einfach den Namen der Datei nav.php an

 < ?php get_template_part( 'nav' ); ?> 

Sie müssen kein include-Schlüsselwort an die Anrufvorlage übergeben.

Ich hoffe das hilft 🙂

get_template_part() ruft Ihre Vorlagendatei über require() , tut dies aber innerhalb eines functionsaufrufs. Das bedeutet, dass es in einem neuen variablen Bereich passiert. Um $post wieder zugänglich zu machen, benutzen Sie einfach das global Schlüsselwort.

 < ?php global $post; $children = get_pages(array('child_of' => $post->ID)); ?> 

Vorhandene Variablen können über die enthaltene Vorlage locate_template() wenn Sie locate_template() innerhalb einer include statement locate_template() :

 include( locate_template( 'nav.php' ) );