Make WordPress Core


Ignore:
Timestamp:
11/29/2005 01:43:32 AM (21 years ago)
Author:
ryan
Message:

Use the full page hierarchy when matching page URIs. Props David House. fixes #1964

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/functions.php

    r3220 r3229  
    586586}
    587587
     588function set_page_path($page) {
     589        $page->fullpath = '/' . $page->post_name;
     590        $path = $page->fullpath;
     591        $curpage = $page;
     592        while ($curpage->post_parent != 0) {
     593                $curpage = get_page($curpage->post_parent);
     594                $path = '/' . $curpage->post_name . $path;
     595        }
     596       
     597        $page->fullpath = $path;
     598
     599        return $page;
     600}
     601
    588602// Retrieves page data given a page ID or page object.
    589603// Handles page caching.
     
    613627                }
    614628        }
     629       
     630        if (!isset($_page->fullpath)) {
     631                $_page = set_page_path($_page);
     632                wp_cache_replace($_page->cat_ID, $_page, 'pages');
     633        }
    615634
    616635        if ( $output == OBJECT ) {
     
    719738       
    720739        return $cat_ids;
     740}
     741
     742function get_all_page_ids() {
     743        global $wpdb;
     744       
     745        if ( ! $page_ids = wp_cache_get('all_page_ids', 'posts') ) {
     746                $page_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_status='static'");
     747                wp_cache_add('all_page_ids', $page_ids, 'pages');
     748        }
     749       
     750        return $page_ids;
    721751}
    722752
Note: See TracChangeset for help on using the changeset viewer.