Changeset 3356
- Timestamp:
- 12/24/2005 04:26:55 PM (20 years ago)
- Location:
- trunk/wp-includes
- Files:
-
- 2 edited
-
classes.php (modified) (1 diff)
-
functions-post.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/classes.php
r3327 r3356 371 371 372 372 $all_page_ids = get_all_page_ids(); 373 $reqpage = 0; 373 $reqpage = 0; 374 374 foreach ( $all_page_ids as $page_id ) { 375 375 $page = get_page($page_id); -
trunk/wp-includes/functions-post.php
r3354 r3356 770 770 } 771 771 772 //fetches the pages returned as a FLAT list, but arranged in order of their hierarchy, i.e., child parents 773 //immediately follow their parents 774 function get_page_hierarchy($posts, $parent = 0) { 775 $result = array ( ); 776 if ($posts) { foreach ($posts as $post) { 777 if ($post->post_parent == $parent) { 778 $result[$post->ID] = $post->post_name; 779 $children = get_page_hierarchy($posts, $post->ID); 780 $result += $children; //append $children to $result 781 } 782 } } 783 return $result; 784 } 785 772 786 function generate_page_rewrite_rules() { 773 787 global $wpdb; 774 $posts = $wpdb->get_results("SELECT ID, post_name FROM $wpdb->posts WHERE post_status = 'static' ORDER BY post_parent DESC"); 788 789 //get pages in order of hierarchy, i.e. children after parents 790 $posts = get_page_hierarchy($wpdb->get_results("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_status = 'static'")); 791 //now reverse it, because we need parents after children for rewrite rules to work properly 792 $posts = array_reverse($posts, true); 775 793 776 794 $page_rewrite_rules = array(); 777 795 778 796 if ($posts) { 779 foreach ($posts as $post) { 797 798 foreach ($posts as $id => $post) { 780 799 // URI => page name 781 $uri = get_page_uri($ post->ID);800 $uri = get_page_uri($id); 782 801 783 $page_rewrite_rules[$uri] = $post ->post_name;802 $page_rewrite_rules[$uri] = $post; 784 803 } 785 804
Note: See TracChangeset
for help on using the changeset viewer.