函数文档

get_bookmark_field()

💡 云策文档标注

概述

get_bookmark_field() 函数用于从书签中检索单个数据字段,支持通过上下文参数控制字段的净化处理。它基于 get_bookmark() 获取书签对象,并返回字符串或 WP_Error。

关键要点

  • 参数:$field(必需,字符串,指定要返回的字段名),$bookmark(必需,整数,书签ID),$context(可选,字符串,字段使用上下文,默认 'display')。
  • 返回值:字符串(字段值或空字符串)或 WP_Error(如果书签检索失败)。
  • 内部流程:将书签ID转换为整数,调用 get_bookmark() 获取对象,检查错误和对象存在性,最后使用 sanitize_bookmark_field() 净化并返回字段值。
  • 相关函数:sanitize_bookmark_field()、get_bookmark()、is_wp_error()。
  • 版本历史:自 WordPress 2.3.0 引入。

代码示例

function get_bookmark_field( $field, $bookmark, $context = 'display' ) {
	$bookmark = (int) $bookmark;
	$bookmark = get_bookmark( $bookmark );

	if ( is_wp_error( $bookmark ) ) {
		return $bookmark;
	}

	if ( ! is_object( $bookmark ) ) {
		return '';
	}

	if ( ! isset( $bookmark->$field ) ) {
		return '';
	}

	return sanitize_bookmark_field( $field, $bookmark->$field, $bookmark->link_id, $context );
}

📄 原文内容

Retrieves single bookmark data item or field.

Parameters

$fieldstringrequired
The name of the data field to return.
$bookmarkintrequired
The bookmark ID to get field.
$contextstringoptional
The context of how the field will be used. Default 'display'.

Return

string|WP_Error

Source

function get_bookmark_field( $field, $bookmark, $context = 'display' ) {
	$bookmark = (int) $bookmark;
	$bookmark = get_bookmark( $bookmark );

	if ( is_wp_error( $bookmark ) ) {
		return $bookmark;
	}

	if ( ! is_object( $bookmark ) ) {
		return '';
	}

	if ( ! isset( $bookmark->$field ) ) {
		return '';
	}

	return sanitize_bookmark_field( $field, $bookmark->$field, $bookmark->link_id, $context );
}

Changelog

Version Description
2.3.0 Introduced.