Benutzerdefinierte Felder auf der übergeordneten Seite anzeigen

Ich habe viele Unterseiten mit jeweils benutzerdefinierten Feldern.

Ich verwende 2 Plugins, eMembers für die Mitgliedschaft Ebenen und Typen für meine benutzerdefinierten Felder.

Ich versuche, die Informationen zum benutzerdefinierten Feld auf der übergeordneten Seite anzuzeigen. Ich habe meinen Code gut funktioniert. Aber dann habe ich versucht, dieselben Daten noch einmal einzutragen, zeige aber nur diejenigen an, bei denen ein Häkchen gesetzt ist. Ich arbeite auch.

Aber mein Problem ist, wenn ich versuche, beide Skripte gleichzeitig auszuführen. Ich bekomme nur die ersten Skript-Ergebnisse zu zeigen.

Mein Code ist http://pastebin.com/vgeZwPxM

    

Top 3 In

ID.'&sort_column=menu_order&parent='.$post->ID); if (!empty($top3)) { //check if there are any children pages. //If there are.... global $post; foreach($top3 as $post) { $url = get_permalink($child->ID); $title = get_the_title($child->ID); $topThreeInArea = types_render_field("top-3-in-area", array("raw"=>"true","separator"=>";")); $address = types_render_field("address", array("raw"=>"true","separator"=>";")); if ( !empty( $topThreeInArea ) ) { echo "
"; echo "

".$title."

"; //If Address if ( !empty( $address ) ) { echo "

"; echo "".$address."

"; } echo "".$facilities."

"; } echo "Visit Website    "; echo "
"; } } } ?>
    ID.'&sort_column=menu_order&parent='.$post->ID); if (!empty($children)) { //check if there are any children pages. //If there are.... global $post; foreach($children as $post) { $url = get_permalink($child->ID); $title = get_the_title($child->ID); $address = types_render_field("address", array("raw"=>"true","separator"=>";")); echo "
  • "; echo "

    ".$title."

    "; echo "
    "; //If Address if ( !empty( $address ) ) { echo "

    "; echo "".$address."

    "; } echo "
    "; echo "
    "; echo "Visit Website    "; echo "
  • "; } } ?>

Prost Jord

Solutions Collecting From Web of "Benutzerdefinierte Felder auf der übergeordneten Seite anzeigen"

Ich hatte das gleiche Problem und fand drei Wege, es zu lösen. Typen sind wirklich schwer zu überzeugen, Daten aus einem anderen Post als dem aktuellen in der Schleife zu lesen …

Das ist die erste Lösung, erstellen Sie einfach eine Schleife mit query_posts () und holen Sie die Daten wie gewohnt über types_render_field() . Denken Sie daran, die Abfrage nachträglich zurückzusetzen, wenn Sie dies vor der eigentlichen Schleife tun. aber ich denke, du weißt darüber Bescheid. http://codex.wordpress.org/Function_Reference/wp_reset_query Innerhalb der Hauptschleife ist dies wahrscheinlich eine fast unmögliche Sache, die ich rate.

Die zweite Lösung ist, setup_postdata ($ post) in Ihrer foreach-Schleife zu verwenden. Dies führt zu einer Magie, die types_render_field() schließlich auf den types_render_field() Beitrag zeigt. Dies führt wiederum dazu, dass alle functionen wie the_ID() oder the_content() und ähnliches the_ID() , so dass Sie den alten global $post setup_postdata($tmp) in einer tmp-Variable speichern und ihn über setup_postdata($tmp) .

Als letzten Ausweg, der manchmal der am wenigsten komplizierte ist, könnten Sie die Daten einfach manuell mit get_post_meta () lesen. Um den Feldnamen zu finden, schauen Sie am besten direkt in die Tabelle wp_postmeta . Ich habe ein paar Anleitungen für die Namenskonvention der Felder in der database gefunden, aber nach einigem Ausprobieren habe ich immer damit begonnen, Adminer zu starten , um sich die DB anzusehen.

Also, wähle weise 🙂