
目次
get_bookmark_field()の用途
get_bookmark_field() は、WordPress に登録されたブックマーク(リンク)データの特定の「フィールド(項目)」を取得する関数です。
特定のブックマークIDから、URLや名前、説明文などの1項目だけを文字列として取得したいときに使います。HTML出力はせず、「値だけ」を取得する点が get_bookmark() との違いです。
get_bookmark_field()の基本構文
get_bookmark_field( $field, $bookmark, $context = 'display' );get_bookmark_field()の引数
| パラメータ | 必須 | 型 | 説明 |
|---|---|---|---|
$field | 必須 | 文字列 | 取得したいフィールド名(例:'link_url', 'link_name') |
$bookmark | 必須 | int または WP_Bookmark | ブックマークIDまたはWP_Bookmarkオブジェクト |
$context | 任意 | 文字列 | 'raw', 'edit', 'db', 'display'(デフォルト)。フィルタリングの対象指定 |
get_bookmark_field()の返り値
- 指定したフィールドの値(文字列)
get_bookmark_field()の使用例
ブックマークIDが5のリンク名(link_name)を取得
$link_name = get_bookmark_field( 'link_name', 5 );
echo esc_html( $link_name );出力例:
おすすめサイトURL を取得してリンクにする
$link_url = get_bookmark_field( 'link_url', 5 );
$link_name = get_bookmark_field( 'link_name', 5 );
echo '<a href="' . esc_url( $link_url ) . '">' . esc_html( $link_name ) . '</a>';get_bookmark_field()のよく使われる $field 一覧
| フィールド名 | 説明 |
|---|---|
link_id | ブックマークID |
link_url | リンクのURL |
link_name | リンクのタイトル(表示名) |
link_image | アイコン画像URL |
link_target | ターゲット(例:_blank) |
link_description | 説明文 |
link_visible | Y または N(表示/非表示) |
link_rating | 評価(1~10) |
link_rel | rel属性の値 |
link_notes | 管理用メモ |
$context の使い分け
| コンテキスト | 説明 |
|---|---|
'raw' | 生のデータ(フィルターなし) |
'display'(デフォルト) | フィルター済み(get_bookmark_field_{$field} フィルターが適用) |
'edit' | 編集画面用(管理画面用の処理が加えられる) |
'db' | データベースそのまま |
通常は display で問題ありませんが、カスタム用途やデータ保存時は raw を使うことがあります。
get_bookmark() との違い
| 関数名 | 目的 | 戻り値 |
|---|---|---|
get_bookmark() | ブックマーク全体を取得 | オブジェクトや配列(多項目) |
get_bookmark_field() | 特定のフィールドだけを取得 | 文字列(単一項目) |
get_bookmark_field()の実用例:アイコン付きリンクリストを1件表示
$id = 5;
$url = get_bookmark_field( 'link_url', $id );
$name = get_bookmark_field( 'link_name', $id );
$icon = get_bookmark_field( 'link_image', $id );
echo '<a href="' . esc_url( $url ) . '" target="_blank">';
if ( $icon ) {
echo '<img src="' . esc_url( $icon ) . '" alt="' . esc_attr( $name ) . '"> ';
}
echo esc_html( $name ) . '</a>';get_bookmark_field()の注意点
- ブックマーク(リンク)機能は WordPress 3.5 以降デフォルトで無効になっており、使用するには「Link Manager」プラグインの有効化やフィルター追加が必要です。
- IDが存在しない場合は
nullを返します。 $fieldの入力ミスに注意(例:link_urlはOK、urlはNG)
get_bookmark_field()のまとめ
| 項目 | 内容 |
|---|---|
| 関数名 | get_bookmark_field() |
| 目的 | ブックマークの特定フィールドだけを取得(表示しない) |
| 引数 | $field, $bookmark, $context |
| 戻り値 | 指定フィールドの文字列 |
| 用途 | カスタム表示、独自UI、値の再利用などに最適 |