Make WordPress Core


Ignore:
Timestamp:
11/29/2005 01:43:32 AM (18 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.