
目次
get_bookmark()の用途
get_bookmark() は、WordPress のブックマーク(リンク)データを1件取得するための関数です。wp_list_bookmarks() や get_bookmarks() のように複数のリンクを一覧で取得するのではなく、特定の ID を持つブックマークの詳細情報を取得する目的で使います。
get_bookmark()の基本構文
get_bookmark( $bookmark, $output = OBJECT, $filter = 'raw' );get_bookmark()の引数
| 引数 | 必須 | 型 | 説明 |
|---|---|---|---|
$bookmark | 必須 | int または WP_Bookmark | ブックマーク ID、または WP_Bookmark オブジェクト |
$output | 任意 | 文字列 | 返すデータの形式。OBJECT(デフォルト) / ARRAY_A(連想配列) / ARRAY_N(数値添字配列) |
$filter | 任意 | 文字列 | 取得したデータのフィルター方法。通常は 'raw' のままでOK |
get_bookmark()の戻り値(返り値)
WP_Bookmarkオブジェクト(または指定された形式の配列)- ブックマークが見つからない場合は
null
get_bookmark()の使用例
IDが5のブックマーク情報を取得して表示
$bookmark = get_bookmark( 5 );
if ( $bookmark ) {
echo '<a href="' . esc_url( $bookmark->link_url ) . '">' . esc_html( $bookmark->link_name ) . '</a>';
}出力例:
<a href="https://example.com">おすすめサイト</a>$output の違い
① OBJECT(デフォルト)
$bookmark = get_bookmark( 5 );
echo $bookmark->link_name;② ARRAY_A(連想配列)
$bookmark = get_bookmark( 5, 'ARRAY_A' );
echo $bookmark['link_name'];③ ARRAY_N(数値配列)
$bookmark = get_bookmark( 5, 'ARRAY_N' );
echo $bookmark[3]; // 項目の位置に注意get_bookmark()の取得できる主なプロパティ(オブジェクト形式)
| プロパティ | 説明 |
|---|---|
link_id | ブックマークID |
link_url | リンクのURL |
link_name | リンクのタイトル |
link_image | 画像URL(未使用が多い) |
link_target | ターゲット(例:_blank) |
link_description | 説明文 |
link_visible | 表示/非表示(Y / N) |
link_notes | 管理用のメモ |
link_rating | レーティング(評価) |
link_rel | リンク関係属性(rel) |
link_category | 関連カテゴリ(未加工のまま) |
get_bookmark()のよくある用途
- 特定のリンクだけをテンプレート内で手動表示
- カスタムUIでのリンク表示
- 「リンクマネージャー」データを個別に参照
get_bookmark()の注意点
- WordPress 3.5以降、リンクマネージャー機能はデフォルトで無効です。
- 有効化には「Link Manager」プラグインを使うか、
functions.phpに以下を追加:add_filter( 'pre_option_link_manager_enabled', '__return_true' );
- 有効化には「Link Manager」プラグインを使うか、
- IDを間違えると
nullが返るため、エラーチェックは必須です。 - カテゴリ情報は
get_the_terms()などとは連携していないため、追加処理が必要な場合があります。
get_bookmark()のまとめ
| 項目 | 内容 |
|---|---|
| 関数名 | get_bookmark() |
| 目的 | 特定のリンク情報(ブックマーク)を1件取得 |
| 戻り値 | WP_Bookmark オブジェクトまたは配列 |
| 主なプロパティ | link_url, link_name, link_description など |
| 使用例 | <a href="...">リンク名</a> の生成など |