| 1 | Index: post.php |
|---|
| 2 | =================================================================== |
|---|
| 3 | --- post.php (révision 12156) |
|---|
| 4 | +++ post.php (copie de travail) |
|---|
| 5 | @@ -2341,11 +2341,15 @@ |
|---|
| 6 | * @param array $pages List of pages' objects. |
|---|
| 7 | * @return array |
|---|
| 8 | */ |
|---|
| 9 | -function &get_page_children($page_id, $pages) { |
|---|
| 10 | +function &get_page_children($page_id, $pages, $number=0) { |
|---|
| 11 | $page_list = array(); |
|---|
| 12 | + $number_count = 0; |
|---|
| 13 | foreach ( (array) $pages as $page ) { |
|---|
| 14 | - if ( $page->post_parent == $page_id ) { |
|---|
| 15 | + if ( $page->post_parent == $page_id && $number==0 || $page->post_parent == $page_id && $number_count < $number) { |
|---|
| 16 | $page_list[] = $page; |
|---|
| 17 | + if ( $number != 0) |
|---|
| 18 | + $number_count+=1; |
|---|
| 19 | + |
|---|
| 20 | if ( $children = get_page_children($page->ID, $pages) ) |
|---|
| 21 | $page_list = array_merge($page_list, $children); |
|---|
| 22 | } |
|---|
| 23 | @@ -2552,7 +2556,7 @@ |
|---|
| 24 | $query .= $author_query; |
|---|
| 25 | $query .= " ORDER BY " . $sort_column . " " . $sort_order ; |
|---|
| 26 | |
|---|
| 27 | - if ( !empty($number) ) |
|---|
| 28 | + if ( !empty($number) && $child_of == 0 ) |
|---|
| 29 | $query .= ' LIMIT ' . $offset . ',' . $number; |
|---|
| 30 | |
|---|
| 31 | $pages = $wpdb->get_results($query); |
|---|
| 32 | @@ -2571,8 +2575,11 @@ |
|---|
| 33 | // Update cache. |
|---|
| 34 | update_page_cache($pages); |
|---|
| 35 | |
|---|
| 36 | - if ( $child_of || $hierarchical ) |
|---|
| 37 | + if ( ($child_of || $hierarchical) && $number > 0 ) { |
|---|
| 38 | + $pages = & get_page_children($child_of, $pages, $number); |
|---|
| 39 | + } elseif ( ($child_of || $hierarchical) && $number == 0) { |
|---|
| 40 | $pages = & get_page_children($child_of, $pages); |
|---|
| 41 | + } |
|---|
| 42 | |
|---|
| 43 | if ( !empty($exclude_tree) ) { |
|---|
| 44 | $exclude = (int) $exclude_tree; |
|---|