WordPress.org

Make WordPress Core

Changeset 3321


Ignore:
Timestamp:
12/16/2005 09:50:10 AM (12 years ago)
Author:
ryan
Message:

get_children()

File:
1 edited

Legend:

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

    r3320 r3321  
    593593    } else {
    594594        return $_post;
     595    }
     596}
     597
     598function &get_children($post = 0, $output = OBJECT) {
     599    global $post_cache, $wpdb;
     600
     601    if ( empty($post) ) {
     602        if ( isset($GLOBALS['post']) )
     603            $post_parent = & $GLOBALS['post']->post_parent;
     604        else
     605            return false;
     606    } elseif ( is_object($post) ) {
     607        $post_parent = $post->post_parent;
     608    } else {
     609        $post_parent = $post;
     610    }
     611
     612    $post_parent = (int) $post_parent;
     613
     614    $query = "SELECT * FROM $wpdb->posts WHERE post_parent = $post_parent";
     615
     616    $children = $wpdb->get_results($query);
     617
     618    if ( $children ) {
     619        foreach ( $children as $key => $child ) {
     620            $post_cache[$child->ID] =& $children[$key];
     621            $kids[$child->ID] =& $children[$key];
     622        }
     623    } else {
     624        return false;
     625    }
     626
     627    if ( $output == OBJECT ) {
     628        return $kids;
     629    } elseif ( $output == ARRAY_A ) {
     630        foreach ( $kids as $kid )
     631            $weeuns[$kid->ID] = get_object_vars($kids[$kid->ID]);
     632        return $weeuns;
     633    } elseif ( $output == ARRAY_N ) {
     634        foreach ( $kids as $kid )
     635            $babes[$kid->ID] = array_values(get_object_vars($kids[$kid->ID]));
     636        return $babes;
     637    } else {
     638        return $kids;
    595639    }
    596640}
Note: See TracChangeset for help on using the changeset viewer.