function cat_rows( $parent = 0, $level = 0, $categories = 0 ) { if ( !$categories ) { $args = array('hide_empty' => 0); if ( !empty($_GET['s']) ) $args['search'] = $_GET['s']; $categories = get_categories( $args ); } $children = _get_term_hierarchy('category'); if ( $categories ) { ob_start(); foreach ( $categories as $category ) { if ( $category->parent == $parent) { echo "\t" . _cat_row( $category, $level ); if ( isset($children[$category->term_id]) ) cat_rows( $category->term_id, $level +1, $categories ); } } $output = ob_get_contents(); ob_end_clean(); $output = apply_filters('cat_rows', $output); echo $output; } else { return false; } }
/** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $categories * @param unknown_type $count * @param unknown_type $parent * @param unknown_type $level * @param unknown_type $page * @param unknown_type $per_page * @return unknown */ function _cat_rows( $categories, &$count, $parent = 0, $level = 0, $page = 1, $per_page = 20 ) { if ( empty($categories) ) { $args = array('hide_empty' => 0); if ( !empty($_GET['s']) ) $args['search'] = $_GET['s']; $categories = get_categories( $args ); } if ( !$categories ) return false; $children = _get_term_hierarchy('category'); $start = ($page - 1) * $per_page; $end = $start + $per_page; $i = -1; ob_start(); foreach ( $categories as $category ) { if ( $count >= $end ) break; $i++; if ( $category->parent != $parent ) continue; // If the page starts in a subtree, print the parents. if ( $count == $start && $category->parent > 0 ) { $my_parents = array(); while ( $my_parent) { $my_parent = get_category($my_parent); $my_parents[] = $my_parent; if ( !$my_parent->parent ) break; $my_parent = $my_parent->parent; } $num_parents = count($my_parents); while( $my_parent = array_pop($my_parents) ) { echo "\t" . _cat_row( $my_parent, $level - $num_parents ); $num_parents--; } } if ( $count >= $start ) echo "\t" . _cat_row( $category, $level ); unset($categories[$i]); // Prune the working set $count++; if ( isset($children[$category->term_id]) ) _cat_rows( $categories, $count, $category->term_id, $level + 1, $page, $per_page ); } $output = ob_get_contents(); ob_end_clean(); echo $output; }
/** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $categories * @param unknown_type $count * @param unknown_type $parent * @param unknown_type $level * @param unknown_type $page * @param unknown_type $per_page * @return unknown */ function _cat_rows($parent = 0, $level = 0, $categories, &$children, $page = 1, $per_page = 20, &$count) { $start = ($page - 1) * $per_page; $end = $start + $per_page; ob_start(); foreach ($categories as $key => $category) { if ($count >= $end) { break; } if ($category->parent != $parent && empty($_GET['s'])) { continue; } // If the page starts in a subtree, print the parents. if ($count == $start && $category->parent > 0) { $my_parents = array(); $p = $category->parent; while ($p) { $my_parent = get_category($p); $my_parents[] = $my_parent; if ($my_parent->parent == 0) { break; } $p = $my_parent->parent; } $num_parents = count($my_parents); while ($my_parent = array_pop($my_parents)) { echo "\t" . _cat_row($my_parent, $level - $num_parents); $num_parents--; } } if ($count >= $start) { echo "\t" . _cat_row($category, $level); } unset($categories[$key]); $count++; if (isset($children[$category->term_id])) { _cat_rows($category->term_id, $level + 1, $categories, $children, $page, $per_page, $count); } } $output = ob_get_contents(); ob_end_clean(); echo $output; }
function cat_rows( $parent = 0, $level = 0, $categories = 0 ) { if (!$categories ) $categories = get_categories( 'hide_empty=0' ); $children = _get_category_hierarchy(); if ( $categories ) { ob_start(); foreach ( $categories as $category ) { if ( $category->category_parent == $parent) { echo "\t" . _cat_row( $category, $level ); if ( isset($children[$category->cat_ID]) ) cat_rows( $category->cat_ID, $level +1, $categories ); } } $output = ob_get_contents(); ob_end_clean(); $output = apply_filters('cat_rows', $output); echo $output; } else { return false; } }
die(-1); } switch ($_POST['tax_type']) { case 'cat': $data = array(); $data['cat_ID'] = $id; $data['cat_name'] = $_POST['name']; $data['category_nicename'] = $_POST['slug']; if (isset($_POST['parent']) && (int) $_POST['parent'] > 0) { $data['category_parent'] = $_POST['parent']; } $cat = get_category($id, ARRAY_A); $data['category_description'] = $cat['category_description']; $updated = wp_update_category($data); if ($updated && !is_wp_error($updated)) { echo _cat_row($updated, 0); } else { die(__('Category not updated.')); } break; case 'link-cat': $updated = wp_update_term($id, 'link_category', $_POST); if ($updated && !is_wp_error($updated)) { echo link_cat_row($updated['term_id']); } else { die(__('Category not updated.')); } break; case 'tag': $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag'; $tag = get_term($id, $taxonomy);
if ( !$cat = get_category( $cat ) ) die('0'); $level = 0; $cat_full_name = $cat->cat_name; $_cat = $cat; while ( $_cat->category_parent ) { $_cat = get_category( $_cat->category_parent ); $cat_full_name = $_cat->cat_name . ' — ' . $cat_full_name; $level++; } $cat_full_name = attribute_escape($cat_full_name); $x = new WP_Ajax_Response( array( 'what' => 'cat', 'id' => $cat->cat_ID, 'data' => _cat_row( $cat, $level, $cat_full_name ), 'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category <a href="#%s">%s</a> added' ), "cat-$cat->cat_ID", $cat_full_name)) ) ); $x->send(); break; case 'add-comment' : if ( !current_user_can( 'edit_post', $id ) ) die('-1'); $search = isset($_POST['s']) ? $_POST['s'] : false; $start = isset($_POST['page']) ? intval($_POST['page']) * 25 : 25; list($comments, $total) = _wp_get_comment_list( $search, $start, 1 ); if ( !$comments ) die('1'); $x = new WP_Ajax_Response();
$x = new WP_Ajax_Response(array('what' => 'cat', 'id' => $cat)); $x->send(); } if (!$cat || !($cat = get_category($cat))) { die('0'); } $level = 0; $cat_full_name = $cat->name; $_cat = $cat; while ($_cat->parent) { $_cat = get_category($_cat->parent); $cat_full_name = $_cat->name . ' — ' . $cat_full_name; $level++; } $cat_full_name = attribute_escape($cat_full_name); $x = new WP_Ajax_Response(array('what' => 'cat', 'id' => $cat->term_id, 'data' => _cat_row($cat, $level, $cat_full_name), 'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__('Category <a href="#%s">%s</a> added'), "cat-{$cat->term_id}", $cat_full_name)))); $x->send(); break; case 'add-link-cat': // From Blogroll -> Categories check_ajax_referer('add-link-category'); if (!current_user_can('manage_categories')) { die('-1'); } if ('' === trim($_POST['name'])) { $x = new WP_Ajax_Response(array('what' => 'link-cat', 'id' => new WP_Error('name', __('You did not enter a category name.')))); $x->send(); } $r = wp_insert_term($_POST['name'], 'link_category', $_POST); if (is_wp_error($r)) { $x = new WP_AJAX_Response(array('what' => 'link-cat', 'id' => $r));