Erstellen einer Audiowiedergabeliste durch Ermitteln der ID der übergeordneten Seite

Im Moment erstellt die Site automatisch Seiten, wenn ein Beitrag aktualisiert wird. Ich möchte, dass diese Seite eine Audio-Playlist enthält. Also was ich tue, ist einfach den Shortcode hinzuzufügen: . Wenn die Audiodateien an die Seite angehängt sind, wird die Wiedergabeliste automatisch generiert.

Ich kann bestätigen, dass diese Methode mit angegebenen IDs funktioniert.

Das Problem ist , dass 3 verschiedene Seiten erstellt werden, und ich brauche das Audio an alle drei Seiten anzuhängen. Meine Lösung ist also, dass ich eine andere Seite anlege, die Audiodateien als Kinder auf dieser Seite einstelle und die ursprünglichen 3 Seiten der neuen Seite untergeordnet mache. Dann könnte ich den shortcode verwenden, aber sag ihm, dass er die ID von der Elternseite bekommen soll.

Beispiel:

  

oder so ähnlich.

Das Problem ist, dass ich die Eltern-ID nicht bekommen kann. Ich habe mehrere verschiedene Codezeilen ausprobiert und nichts wird funktionieren. Die Wiedergabeliste erhält nur die Standard-ID 0, die sie tut, wenn id="" leer ist.

Das alles geht in die Datei functions.php in meinem Themenverzeichnis.

Vielleicht gibt es einen besseren Weg, dies zu tun, bis jetzt scheint dies die einfachste Lösung, wenn ich nur die direkte Eltern-ID bekommen kann. Es muss existieren.

Solutions Collecting From Web of "Erstellen einer Audiowiedergabeliste durch Ermitteln der ID der übergeordneten Seite"

Hast du die folgende function ausprobiert:

 < ?php get_post_ancestors( $post-ID ) ?> 

Der letzte Post im zurückgegebenen Array sollte der Vorgänger der höchsten Ebene sein.

Dies ist aus dem Codex.

Hier ist meine Lösung:

Katalog ist ein benutzerdefiniertes Feld in meinem Post.

Ich mache eine “Dummy” -Seite mit nur der Katalognummer und hefte die MP3s an diese Seite an.

 $catalogue = get_field('catalogue'); $parent_id = get_page_by_title(strtolower($catalogue)); $direct_id = $parent_id->ID; $promo_page_content = [playlist id=" . $direct_id . '"]'; 

Ich weiß, dass dies wahrscheinlich nicht der beste Weg ist, dies zu schreiben. Ich bin neu in PHP. Aber für jetzt, das wird es zusammenfügen. Hoffe, das hilft jedem anderen, der das gleiche Problem hat.