get_bookmark() – Retrieve Bookmark data

You appear to be a bot. Output may be restricted

Description

Retrieves bookmark data.

Usage

$array|object|null = get_bookmark( $bookmark, $output, $filter );

Parameters

$bookmark
( int|stdClass ) required
$output
( string ) optional default: OBJECT – Optional. The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which correspond to an stdClass object, an associative array, or a numeric array, respectively. Default OBJECT.
$filter
( string ) optional default: raw – Optional. How to sanitize bookmark fields. Default 'raw'.

Returns

array|object|null Type returned depends on $output value.

Source

File name: wordpress/wp-includes/bookmark.php
Lines:

1 to 43 of 43
function get_bookmark( $bookmark, $output = OBJECT, $filter = 'raw' ) {
  global $wpdb;

  if ( empty( $bookmark ) ) {
    if ( isset( $GLOBALS['link'] ) ) {
      $_bookmark = & $GLOBALS['link'];
    } else {
      $_bookmark = null;
    }
  } elseif ( is_object( $bookmark ) ) {
    wp_cache_add( $bookmark->link_id, $bookmark, 'bookmark' );
    $_bookmark = $bookmark;
  } else {
    if ( isset( $GLOBALS['link'] ) && ( $GLOBALS['link']->link_id == $bookmark ) ) {
      $_bookmark = & $GLOBALS['link'];
    } else {
      $_bookmark = wp_cache_get( $bookmark, 'bookmark' );
      if ( ! $_bookmark ) {
        $_bookmark = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->links WHERE link_id = %d LIMIT 1", $bookmark ) );
        if ( $_bookmark ) {
          $_bookmark->link_category = array_unique( wp_get_object_terms( $_bookmark->link_id, 'link_category', array( 'fields' => 'ids' ) ) );
          wp_cache_add( $_bookmark->link_id, $_bookmark, 'bookmark' );
        }
      }
    }
  }

  if ( ! $_bookmark ) {
    return $_bookmark;
  }

  $_bookmark = sanitize_bookmark( $_bookmark, $filter );

  if ( OBJECT === $output ) {
    return $_bookmark;
  } elseif ( ARRAY_A === $output ) {
    return get_object_vars( $_bookmark );
  } elseif ( ARRAY_N === $output ) {
    return array_values( get_object_vars( $_bookmark ) );
  } else {
    return $_bookmark;
  }
}
 

 View on GitHub View on Trac