On this page
wp_list_bookmarks( string|array $args = '' ): void|string
Retrieves or echoes all of the bookmarks.
Description
List of default arguments are as follows:
These options define how the Category name will appear before the category links are displayed, if ‘categorize’ is 1. If ‘categorize’ is 0, then it will display for only the ‘title_li’ string and only if ‘title_li’ is not empty.
See also
Parameters
$argsstring|array Optional-
String or array of arguments to list bookmarks.
orderbystringHow to order the links by. Accepts post fields. Default'name'.orderstringWhether to order bookmarks in ascending or descending order.
Accepts'ASC'(ascending) or'DESC'(descending). Default'ASC'.limitintAmount of bookmarks to display. Accepts 1+ or -1 for all.
Default -1.categorystringComma-separated list of category IDs to include links from.
category_namestringCategory to retrieve links for by name.hide_invisibleint|boolWhether to show or hide links marked as'invisible'. Accepts1|trueor0|false. Default1|true.show_updatedint|boolWhether to display the time the bookmark was last updated.
Accepts1|trueor0|false. Default0|false.echoint|boolWhether to echo or return the formatted bookmarks. Accepts1|true(echo) or0|false(return). Default1|true.categorizeint|boolWhether to show links listed by category or in a single column.
Accepts1|true(by category) or0|false(one column). Default1|true.show_descriptionint|boolWhether to show the bookmark descriptions. Accepts1|trueor0|false.
Default0|false.title_listringWhat to show before the links appear. Default'Bookmarks'.title_beforestringThe HTML or text to prepend to the $title_li string. Default.<h2>title_afterstringThe HTML or text to append to the $title_li string. Default.</h2>classstring|arrayThe CSS class or an array of classes to use for the $title_li.
Default'linkcat'.category_beforestringThe HTML or text to prepend to $title_before if $categorize is true.
String must contain'%id'and'%class'to inherit the category ID and the $class argument used for formatting in themes.
Default<li id="%id" class="%class">.category_afterstringThe HTML or text to append to $title_after if $categorize is true.
Default.</li>category_orderbystringHow to order the bookmark category based on term scheme if $categorize is true. Default'name'.category_orderstringWhether to order categories in ascending or descending order if $categorize is true. Accepts'ASC'(ascending) or'DESC'(descending).
Default'ASC'.
Default:
''
Return
void|string Void if 'echo' argument is true, HTML list of bookmarks if 'echo' is false.
Source
File: wp-includes/bookmark-template.php. View all references
function wp_list_bookmarks( $args = '' ) {
$defaults = array(
'orderby' => 'name',
'order' => 'ASC',
'limit' => -1,
'category' => '',
'exclude_category' => '',
'category_name' => '',
'hide_invisible' => 1,
'show_updated' => 0,
'echo' => 1,
'categorize' => 1,
'title_li' => __( 'Bookmarks' ),
'title_before' => '<h2>',
'title_after' => '</h2>',
'category_orderby' => 'name',
'category_order' => 'ASC',
'class' => 'linkcat',
'category_before' => '<li id="%id" class="%class">',
'category_after' => '</li>',
);
$parsed_args = wp_parse_args( $args, $defaults );
$output = '';
if ( ! is_array( $parsed_args['class'] ) ) {
$parsed_args['class'] = explode( ' ', $parsed_args['class'] );
}
$parsed_args['class'] = array_map( 'sanitize_html_class', $parsed_args['class'] );
$parsed_args['class'] = trim( implode( ' ', $parsed_args['class'] ) );
if ( $parsed_args['categorize'] ) {
$cats = get_terms(
array(
'taxonomy' => 'link_category',
'name__like' => $parsed_args['category_name'],
'include' => $parsed_args['category'],
'exclude' => $parsed_args['exclude_category'],
'orderby' => $parsed_args['category_orderby'],
'order' => $parsed_args['category_order'],
'hierarchical' => 0,
)
);
if ( empty( $cats ) ) {
$parsed_args['categorize'] = false;
}
}
if ( $parsed_args['categorize'] ) {
// Split the bookmarks into ul's for each category.
foreach ( (array) $cats as $cat ) {
$params = array_merge( $parsed_args, array( 'category' => $cat->term_id ) );
$bookmarks = get_bookmarks( $params );
if ( empty( $bookmarks ) ) {
continue;
}
$output .= str_replace(
array( '%id', '%class' ),
array( "linkcat-$cat->term_id", $parsed_args['class'] ),
$parsed_args['category_before']
);
/**
* Filters the category name.
*
* @since 2.2.0
*
* @param string $cat_name The category name.
*/
$catname = apply_filters( 'link_category', $cat->name );
$output .= $parsed_args['title_before'];
$output .= $catname;
$output .= $parsed_args['title_after'];
$output .= "\n\t<ul class='xoxo blogroll'>\n";
$output .= _walk_bookmarks( $bookmarks, $parsed_args );
$output .= "\n\t</ul>\n";
$output .= $parsed_args['category_after'] . "\n";
}
} else {
// Output one single list using title_li for the title.
$bookmarks = get_bookmarks( $parsed_args );
if ( ! empty( $bookmarks ) ) {
if ( ! empty( $parsed_args['title_li'] ) ) {
$output .= str_replace(
array( '%id', '%class' ),
array( 'linkcat-' . $parsed_args['category'], $parsed_args['class'] ),
$parsed_args['category_before']
);
$output .= $parsed_args['title_before'];
$output .= $parsed_args['title_li'];
$output .= $parsed_args['title_after'];
$output .= "\n\t<ul class='xoxo blogroll'>\n";
$output .= _walk_bookmarks( $bookmarks, $parsed_args );
$output .= "\n\t</ul>\n";
$output .= $parsed_args['category_after'] . "\n";
} else {
$output .= _walk_bookmarks( $bookmarks, $parsed_args );
}
}
}
/**
* Filters the bookmarks list before it is echoed or returned.
*
* @since 2.5.0
*
* @param string $html The HTML list of bookmarks.
*/
$html = apply_filters( 'wp_list_bookmarks', $output );
if ( $parsed_args['echo'] ) {
echo $html;
} else {
return $html;
}
}
Hooks
- apply_filters( 'link_category',
string $cat_name ) -
Filters the category name.
- apply_filters( 'wp_list_bookmarks',
string $html ) -
Filters the bookmarks list before it is echoed or returned.
Related
Uses
| Uses | Description |
|---|---|
| get_terms() wp-includes/taxonomy.php | Retrieves the terms in a given taxonomy or list of taxonomies. |
| _walk_bookmarks() wp-includes/bookmark-template.php | The formatted output of a list of bookmarks. |
| get_bookmarks() wp-includes/bookmark.php | Retrieves the list of bookmarks. |
| __() wp-includes/l10n.php | Retrieves the translation of $text. |
| wp_parse_args() wp-includes/functions.php | Merges user defined arguments into defaults array. |
| apply_filters() wp-includes/plugin.php | Calls the callback functions that have been added to a filter hook. |
Used By
| Used By | Description |
|---|---|
| wp_get_links() wp-includes/deprecated.php | Gets the links associated with category. |
| wp_get_linksbyname() wp-includes/deprecated.php | Gets the links associated with the named category. |
| WP_Widget_Links::widget() wp-includes/widgets/class-wp-widget-links.php | Outputs the content for the current Links widget instance. |
Changelog
| Version | Description |
|---|---|
| 2.1.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_list_bookmarks