
目次
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、値の再利用などに最適 |