Wie Sie eine Seite abfragen, Daten abrufen und dann nach untergeordneten Seiten dieser Seite suchen

Im Grunde möchte ich PARENT für eine Reihe von benutzerdefinierten Felddaten abfragen und sie aussprechen. Dann möchte ich alle CHILD-Seiten dieses Elternteils abfragen und mehr Daten ausgeben.

Was ist der beste Weg, es zu tun?

  1. Top-Level-Abfrage für Eltern, dann innerhalb dieser Abfrage eine Sublevel-Abfrage für die Kinder.
  2. 2 separate Top-Level-Abfragen
  3. Andere?

Am besten wp_query oder get_posts oder eine Kombination aus beiden verwenden?

UPDATE: Sieht so aus, als müsste ich etwas besser erklären.

Wenn die Struktur der Seiten so aussieht:

 Page Parent ID(2) 1. Child 1 ID(3) 2. Child 2 ID(4) 3. Child 3 ID(5) 4. Child 4 ID(6) 

Und die übergeordnete Abfrage sieht so aus:

 $parent = new wp_query(post_id=2) while //do page parent stuff, eg get the_title(); of the parent page endwhile 

Muss ich eine weitere Instanz von wp_query ausführen, um die untergeordneten Seiten mit post_parent=2 , oder kann ich die ursprüngliche übergeordnete Abfrage irgendwie erneut verwenden und sie mit zusätzlichen Parametern erweitern, um die Anzahl der Abfrageaufrufe zu post_parent=2 ?

Ich bin auf der Suche nach einer Optimierung der wp_query hier, wenn eine Child-Abfrage die gleichen Parameter wie die Eltern plus ein paar mehr verwendet. Vielen Dank.

Solutions Collecting From Web of "Wie Sie eine Seite abfragen, Daten abrufen und dann nach untergeordneten Seiten dieser Seite suchen"

Ich verstehe nicht die Unterscheidung, die Sie zwischen ‘Sublevel’ Abfrage und ‘Toplevel’ Abfrage machen, aber so ziehe ich Kinder für eine Seite.

 $children = get_children( array( 'post_parent' => $servid, 'post_type' => 'page', 'post_status' => 'publish', 'orderby' => 'menu_order', 'order' => 'ASC' )); ?> 

Oder…

 $page_children = get_pages( array( 'child_of' => $post->ID, 'post_type' => 'page', 'sort_column' => 'menu_order', 'order' => 'ASC' )); 

In beiden Fällen sende ich die ID des Elternposts als ersten Parameter.

http://codex.wordpress.org/Function_Reference/get_children

http://codex.wordpress.org/Function_Reference/get_pages

In diesem Beispiel werden Kategorien anstelle von Seiten verwendet. Sie können die Informationen jedoch mithilfe der Informationen des übergeordneten Elements innerhalb der anderen Schleife abfragen:

 // checking current taxonomy to see if it has child categories if it doesn't then we're out of sub categories and should show the current categories products $args = array( 'type' => $taxfunc_post_type, 'hide_empty' => 1, 'orderby' => 'name', 'order' => 'ASC', 'taxonomy' => $taxfunc_tax_name ); $categories = get_categories($args); $categories = wp_list_filter($categories,array('parent'=> $term_id)); foreach($categories as $category) { // setup the cateogory ID $cat_id = $category->term_id; // Get category name $cat_name = $category->name; // Get category count $cat_count = $category->count; //get the category url $cat_url = get_term_link( $category->slug, $taxfunc_tax_name ); echo '
'; echo '
'; echo "

"; echo $cat_name; echo "

"; if ($cat_count > 0) { echo ''; printf( _n('1 profile', '%s profiles', $cat_count,'mouldings' ),$cat_count ); echo ''; } $subcat_args = array( 'type' => $taxfunc_post_type, 'hide_empty' => 1, 'orderby' => 'name', 'child_of' => $cat_id, 'order' => 'ASC', 'taxonomy' => $taxfunc_tax_name, 'pad_counts' => 1 ); $subcategories = get_categories($subcat_args); $subcat_count = count($subcategories); if ($subcat_count > 0) { echo ' '; printf( _n('1 subcategory', '%s subcategories', $subcat_count,'mouldings' ),$subcat_count ); echo ''; } echo ' '.__('View all','mouldings').''; echo '
'; echo '
'; }

Im obigen child_of weise ich den child_of child_of der übergeordneten Kategorie zu. Lass es mich wissen, wenn das hilft.