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

get_bookmark() WP 2.1.0

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

Хуков нет.

Возвращает

массив/объект данных.

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

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

Примеры

  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
		(
		)
)

Код get bookmark: wp-includes/bookmark.php WP 4.9

<?php
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'];
		} elseif ( ! $_bookmark = wp_cache_get($bookmark, '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 ( $output == OBJECT ) {
		return $_bookmark;
	} elseif ( $output == ARRAY_A ) {
		return get_object_vars($_bookmark);
	} elseif ( $output == ARRAY_N ) {
		return array_values(get_object_vars($_bookmark));
	} else {
		return $_bookmark;
	}
}

Cвязанные функции

Из метки: bookmark

get_bookmark 4 комментария
  • В 4.2 в админке нет раздела Ссылки.
    Как включить стандартные ссылки (блогролл)?

    Ответить2.3 года назад #
    • Kama4660

      links/blogroll были удалены с версии WordPress 3.5 и для всех обновлений с ранних версий, если на сайте блогролл был пустой: http://codex.wordpress.org/Version_3.5#Links

      Чтобы вернуть все обратно, установите плагин: http://wordpress.org/extend/plugins/link-manager/

      Я плагин не юзал. Отпишитесь плз если установите.

      Ответить2.3 года назад #
      • Оказалось всё проще -надо в functions.php прописать строчку

        // Activate the Link Manager built in to the WordPress admin
        add_filter( 'pre_option_link_manager_enabled', '__return_true' );
        Ответить2.3 года назад #
        • Kama4660

          Этот плагин эту строчку и добавляет как, щас посмотрел, там одна строчка smile

          Ответить2.3 года назад #

Здравствуйте, !

Ваш комментарий