diff --git a/wp-includes/bookmark-template.php b/wp-includes/bookmark-template.php
index a56facf4af..446ea4652d 100644
--- a/wp-includes/bookmark-template.php
+++ b/wp-includes/bookmark-template.php
@@ -316,34 +316,36 @@ function wp_list_bookmarks($args = '') {
else
parse_str($args, $r);
- $defaults = array('orderby' => 'name', 'order' => 'ASC', 'limit' => -1, 'category' => 0,
+ $defaults = array('orderby' => 'name', 'order' => 'ASC', 'limit' => -1, 'category' => '',
'category_name' => '', 'hide_invisible' => 1, 'show_updated' => 0, 'echo' => 1,
'categorize' => 1, 'title_li' => __('Bookmarks'), 'title_before' => '
', 'title_after' => '
',
'category_orderby' => 'name', 'category_order' => 'ASC');
$r = array_merge($defaults, $r);
extract($r);
- // TODO: The rest of it.
- // If $categorize, group links by category with the category name being the
- // title of each li, otherwise just list them with title_li as the li title.
- // If $categorize and $category or $category_name, list links for the given category
- // with the category name as the title li. If not $categorize, use title_li.
- // When using each category's name as a title li, use before and after args for specifying
- // any markup. We don't want to hardcode h2.
-
$output = '';
if ( $categorize ) {
- $cats = get_categories("type=link&orderby=$category_orderby&order=$category_order&hierarchical=0");
+ //Split the bookmarks into ul's for each category
+ $cats = get_categories("type=link&category_name=$category_name&include=$category&orderby=$category_orderby&order=$category_order&hierarchical=0");
+
foreach ( (array) $cats as $cat ) {
- $r['category'] = $cat->cat_ID;
- $bookmarks = get_bookmarks($r);
+ $bookmarks = get_bookmarks("limit=$limit&category={$cat->cat_ID}&show_updated=$show_updated&orderby=$orderby&order=$order&hide_invisible=$hide_inivisible&show_updated=$show_updated");
if ( empty($bookmarks) )
continue;
$output .= "$title_before$cat->cat_name$title_after\n\t\n";
$output .= _walk_bookmarks($bookmarks, $r);
$output .= "\n\t
\n\n";
}
+ } else {
+ //output one single list using title_li for the title
+ $bookmarks = get_bookmarks("limit=$limit&category=$category&show_updated=$show_updated&orderby=$orderby&order=$order&hide_invisible=$hide_inivisible&show_updated=$show_updated");
+
+ if ( !empty($bookmarks) ) {
+ $output .= "$title_before$title_li$title_after\n\t\n";
+ $output .= _walk_bookmarks($bookmarks, $r);
+ $output .= "\n\t
\n\n";
+ }
}
if ( !$echo )
@@ -351,4 +353,4 @@ function wp_list_bookmarks($args = '') {
echo $output;
}
-?>
\ No newline at end of file
+?>