Changeset 13774 for trunk/wp-includes/post.php
- Timestamp:
- 03/20/2010 02:23:52 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/post.php
r13773 r13774 855 855 if ( !isset($args->rewrite['with_front']) ) 856 856 $args->rewrite['with_front'] = true; 857 $wp_rewrite->add_rewrite_tag("%$post_type%", '([^/]+)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name="); 857 if ( $args->hierarchical ) 858 $wp_rewrite->add_rewrite_tag("%$post_type%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name="); 859 else 860 $wp_rewrite->add_rewrite_tag("%$post_type%", '([^/]+)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name="); 858 861 $wp_rewrite->add_permastruct($post_type, "{$args->rewrite['slug']}/%$post_type%", $args->rewrite['with_front'], $args->permalink_epmask); 859 862 } … … 2750 2753 * @return mixed Null when complete. 2751 2754 */ 2752 function get_page_by_path($page_path, $output = OBJECT ) {2755 function get_page_by_path($page_path, $output = OBJECT, $post_type = 'page') { 2753 2756 global $wpdb; 2754 2757 $page_path = rawurlencode(urldecode($page_path)); … … 2762 2765 $full_path .= ($pathdir!=''?'/':'') . sanitize_title($pathdir); 2763 2766 2764 $pages = $wpdb->get_results( $wpdb->prepare( "SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_name = %s AND (post_type = 'page' OR post_type = 'attachment')", $leaf_path));2767 $pages = $wpdb->get_results( $wpdb->prepare( "SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_name = %s AND (post_type = %s OR post_type = 'attachment')", $leaf_path, $post_type )); 2765 2768 2766 2769 if ( empty($pages) ) 2767 2770 return null; 2768 2771 2769 foreach ( $pages as $page) {2772 foreach ( $pages as $page ) { 2770 2773 $path = '/' . $leaf_path; 2771 2774 $curpage = $page; 2772 while ( $curpage->post_parent != 0) {2773 $curpage = $wpdb->get_row( $wpdb->prepare( "SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE ID = %d and post_type ='page'", $curpage->post_parent));2775 while ( $curpage->post_parent != 0 ) { 2776 $curpage = $wpdb->get_row( $wpdb->prepare( "SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE ID = %d and post_type = %s", $curpage->post_parent, $post_type )); 2774 2777 $path = '/' . $curpage->post_name . $path; 2775 2778 } 2776 2779 2777 2780 if ( $path == $full_path ) 2778 return get_page($page->ID, $output );2781 return get_page($page->ID, $output, $post_type); 2779 2782 } 2780 2783
Note: See TracChangeset
for help on using the changeset viewer.