get_bookmarks()
は、WordPressでリンク(ブックマーク)のリストを取得するためのテンプレートタグです。リンクカテゴリーや指定条件に基づいてリンクの配列を取得でき、任意のカスタマイズでリンクリストを表示することが可能です。
機能の説明
get_bookmarks()
は、WordPressに登録されたリンク(ブックマーク)のリストを配列として取得します。このテンプレートタグを使うことで、特定のカテゴリーに属するリンクや、リンクの順序、数などをカスタマイズして取得・表示することが可能です。
シンプルなコード例
<?php
$bookmarks = get_bookmarks();
foreach ($bookmarks as $bookmark) {
echo '<a href="' . $bookmark->link_url . '">' . $bookmark->link_name . '</a><br>';
}
?>
この例では、すべてのブックマークを取得し、リンクとして表示しています。
使い方の解説
get_bookmarks()
はオプション引数を受け取ることで、リンクの取得方法をカスタマイズすることができます。例えば、特定のカテゴリーのリンクのみを取得したり、表示順序を変更することが可能です。
使用例
<?php
$args = array(
'orderby' => 'name', // 名前順にソート
'order' => 'ASC', // 昇順
'category'=> 2 // カテゴリーID 2 のリンクを取得
);
$bookmarks = get_bookmarks($args);
foreach ($bookmarks as $bookmark) {
echo '<li><a href="' . esc_url($bookmark->link_url) . '">' . esc_html($bookmark->link_name) . '</a></li>';
}
?>
このコードは、リンクカテゴリーID 2
に属するリンクを名前順に昇順で取得し、リスト形式で表示しています。get_bookmarks()
の引数に配列を渡すことで、リンクの取得条件を柔軟に指定することが可能です。
一緒に使うことが多い関連タグ
wp_list_bookmarks()
wp_list_bookmarks()
は、リンクをリスト形式で直接表示するためのテンプレートタグです。get_bookmarks()
とは異なり、リンクの取得から表示までを一度に処理します。
使用例
<?php
wp_list_bookmarks(array(
'category' => 2,
'orderby' => 'name',
'order' => 'ASC',
'show_images' => true
));
?>
このコードでは、カテゴリーID 2
に属するリンクを、名前順で昇順に並べて表示しています。また、リンクに関連する画像も表示するように設定されています。wp_list_bookmarks()
はリンクをHTMLリストとして自動的に生成するため、簡単にリンクリストを表示したい場合に便利です。
get_bookmark()
get_bookmark()
は、特定のリンクIDに基づいて、リンクの詳細情報を取得するためのテンプレートタグです。get_bookmarks()
とは異なり、個別のリンクデータをオブジェクト形式で取得します。
使用例
<?php
$bookmark = get_bookmark(10); // IDが10のリンクを取得
echo '<a href="' . $bookmark->link_url . '">' . $bookmark->link_name . '</a>';
このコードは、リンクID 10
のリンク情報を取得し、そのリンク名とURLを表示しています。特定のリンクを取得したい場合には、このテンプレートタグが有効です。
追加情報を取得したい場合
get_bookmarks()
は複数のリンクを取得するのに便利ですが、特定のフィールドや細かい情報が必要な場合には、get_bookmark()
や get_bookmark_field()
を使って、個々のリンクの詳細を取得できます。
get_category()
で取得できる情報
get_category()
を使用して、リンクが属するカテゴリーの情報を取得できます。
<?php
$category = get_category(2);
echo 'カテゴリ名: ' . $category->name;
echo 'カテゴリスラッグ: ' . $category->slug;
?>
このコードでは、カテゴリID 2
に基づいてカテゴリ名とスラッグを取得し、表示しています。リンクの所属カテゴリーに関連する情報も一緒に表示したい場合に有効です。
出力できる情報
name
: カテゴリー名slug
: カテゴリーのスラッグ(URLフレンドリーな名前)description
: カテゴリーの説明count
: そのカテゴリーに属する投稿数
想定されるトラブル
フィールドが表示されない
get_bookmarks()
の引数が正しくないか、リンクが存在しない可能性があります。
解決方法
リンクカテゴリーIDや条件を確認し、正しく設定されているかを確認します。
リンクが表示されない
リンクが非公開になっている可能性があります。
解決方法
リンク管理画面でリンクの公開ステータスを確認してください。リンクが「非公開」に設定されている場合は、表示されません。
Q&A
まとめ
get_bookmarks()
は、WordPress内のリンク(ブックマーク)を簡単に取得し、リスト表示するための強力なテンプレートタグです。
カスタマイズ可能な引数を活用することで、カテゴリーや並べ替え、表示順序などを自由に調整できます。さらに、wp_list_bookmarks()
や get_bookmark()
と組み合わせることで、より柔軟なリンク表示が可能です。
コメント