
目次
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> の生成など |