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'.
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. |