MENU

get_bookmarks()

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() でリンクを特定のカテゴリーに絞って表示するにはどうすれば良いですか?

get_bookmarks() の引数に category パラメータを追加することで、特定のカテゴリーのリンクのみを取得できます。

get_bookmarks(array('category' => 3));

リンクに関連する画像も一緒に表示できますか?

はい、リンクに関連する画像を表示するには、show_images パラメータを true に設定して wp_list_bookmarks() を使用します。get_bookmarks() を使う場合は、取得したリンクデータに基づいて自分で画像タグを生成する必要があります。

複数のリンクカテゴリーを同時に表示できますか?

はい、category パラメータに配列で複数のカテゴリーIDを指定することで、複数のリンクカテゴリーのリンクを同時に表示することが可能です。

まとめ

get_bookmarks() は、WordPress内のリンク(ブックマーク)を簡単に取得し、リスト表示するための強力なテンプレートタグです。

カスタマイズ可能な引数を活用することで、カテゴリーや並べ替え、表示順序などを自由に調整できます。さらに、wp_list_bookmarks()get_bookmark() と組み合わせることで、より柔軟なリンク表示が可能です。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次