$r = wp_parse_args( $args, $defaults );
extract( $r, EXTR_SKIP );
+ $cache = array();
$key = md5( serialize( $r ) );
- if ( $cache = wp_cache_get( 'get_bookmarks', 'bookmark' ) )
- if ( isset( $cache[ $key ] ) )
+ if ( $cache = wp_cache_get( 'get_bookmarks', 'bookmark' ) ) {
+ if ( is_array($cache) && isset( $cache[ $key ] ) )
return apply_filters('get_bookmarks', $cache[ $key ], $r );
+ }
+
+ if ( !is_array($cache) )
+ $cache = array();
$inclusions = '';
if ( !empty($include) ) {
if (!empty($exclusions))
$exclusions .= ')';
- if ( ! empty($category_name) ) {
- if ( $category = get_term_by('name', $category_name, 'link_category') )
+ if ( !empty($category_name) ) {
+ if ( $category = get_term_by('name', $category_name, 'link_category') ) {
$category = $category->term_id;
+ } else {
+ $cache[ $key ] = array();
+ wp_cache_set( 'get_bookmarks', $cache, 'bookmark' );
+ return apply_filters( 'get_bookmarks', array(), $r );
+ }
}
if ( ! empty($search) ) {
if ( in_array($field, $format_to_edit) ) {
$value = format_to_edit($value);
} else {
- $value = attribute_escape($value);
+ $value = esc_attr($value);
}
} else if ( 'db' == $context ) {
$value = apply_filters("pre_$field", $value);
}
if ( 'attribute' == $context )
- $value = attribute_escape($value);
+ $value = esc_attr($value);
else if ( 'js' == $context )
- $value = js_escape($value);
+ $value = esc_js($value);
return $value;
}