WordPress как на ладони

get_bookmark()WP 2.1.0

Получает данные ссылки из блогролла, в виде массива. Нужно указать ID ссылки.

Хуков нет.

Возвращает

Массив|Объект|null.

Использование

<?php get_bookmark( $bookmark, $output, $filter ) ?>
$bookmark(число) (обязательный)
ID ссылки из блогролла (админка -> ссылки -> ссылки).
$output(строка)
В каком виде возвращать результат. Может быть:
OBJECT — в виде объекта;
ARRAY_N — в виде массива;
ARRAY_A — в виде ассоциативного массива.
По умолчанию: OBJECT
$filter(строка)
Фильтр (???).
По умолчанию: 'raw'

Примеры

0

#1 Базовый пример.

Получим данные ссылки 13 и выведем её УРЛ:

<?php
$link = get_bookmark( 13, ARRAY_N );

echo $link->link_url;
?>

В этом примере переменная $link будет содержать следующий объект:

stdClass Object
(
	[link_id] => 13
	[link_url] => http://www.gogetlinks.net/?inv=n98gxr
	[link_name] => gogetlinks.net
	[link_image] => http://wp-kama.ru/wp-includes/images/crystal/archive.png
	[link_target] =>
	[link_description] => Покупка/продажа качественных ссылок, навсегда
	[link_visible] => Y
	[link_owner] => 1
	[link_rating] => 0
	[link_updated] => 0000-00-00 00:00:00
	[link_rel] =>
	[link_notes] =>
	[link_rss] =>
	[link_category] => Array()
)

Заметки

  • Global. Объект. $link Current link object.
  • Global. wpdb. $wpdb WordPress database abstraction object.

Список изменений

С версии 2.1.0 Введена.

Код get_bookmark() WP 6.5.2

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;
	}
}
4 комментария
    Войти