Avoid infinite loop when category_parent equals cat_ID
git-svn-id: http://svn.automattic.com/wordpress/trunk@4173 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
5129cbeb3e
commit
b4ce019386
|
@ -47,7 +47,7 @@ function get_category_parents($id, $link = FALSE, $separator = '/', $nicename =
|
||||||
else
|
else
|
||||||
$name = $parent->cat_name;
|
$name = $parent->cat_name;
|
||||||
|
|
||||||
if ( $parent->category_parent )
|
if ( $parent->category_parent && ($parent->category_parent != $parent->cat_ID) )
|
||||||
$chain .= get_category_parents($parent->category_parent, $link, $separator, $nicename);
|
$chain .= get_category_parents($parent->category_parent, $link, $separator, $nicename);
|
||||||
|
|
||||||
if ( $link )
|
if ( $link )
|
||||||
|
|
|
@ -172,7 +172,7 @@ function get_category_by_path($category_path, $full_match = true, $output = OBJE
|
||||||
foreach ($categories as $category) {
|
foreach ($categories as $category) {
|
||||||
$path = '/' . $leaf_path;
|
$path = '/' . $leaf_path;
|
||||||
$curcategory = $category;
|
$curcategory = $category;
|
||||||
while ($curcategory->category_parent != 0) {
|
while ( ($curcategory->category_parent != 0) && ($curcategory->category_parent != $curcategory->cat_ID) ) {
|
||||||
$curcategory = $wpdb->get_row("SELECT cat_ID, category_nicename, category_parent FROM $wpdb->categories WHERE cat_ID = '$curcategory->category_parent'");
|
$curcategory = $wpdb->get_row("SELECT cat_ID, category_nicename, category_parent FROM $wpdb->categories WHERE cat_ID = '$curcategory->category_parent'");
|
||||||
$path = '/' . $curcategory->category_nicename . $path;
|
$path = '/' . $curcategory->category_nicename . $path;
|
||||||
}
|
}
|
||||||
|
@ -219,6 +219,9 @@ function &_get_cat_children($category_id, $categories) {
|
||||||
|
|
||||||
$category_list = array();
|
$category_list = array();
|
||||||
foreach ( $categories as $category ) {
|
foreach ( $categories as $category ) {
|
||||||
|
if ( $category->cat_ID == $category_id )
|
||||||
|
continue;
|
||||||
|
|
||||||
if ( $category->category_parent == $category_id ) {
|
if ( $category->category_parent == $category_id ) {
|
||||||
$category_list[] = $category;
|
$category_list[] = $category;
|
||||||
if ( $children = _get_cat_children($category->cat_ID, $categories) )
|
if ( $children = _get_cat_children($category->cat_ID, $categories) )
|
||||||
|
|
Loading…
Reference in New Issue