MENU

edit_bookmark_link()

edit_bookmark_link() は、特定のリンク(ブックマーク)の編集ページへのリンクを表示するためのテンプレートタグです。WordPressでは「リンク管理(ブックマーク)」を使ってブログロールなどを管理する場合、このタグを使用して各リンクの編集画面へのアクセスを提供します。

目次

機能の説明

edit_bookmark_link() は、リンク(ブックマーク)の管理画面へのリンクを表示します。WordPressのリンク管理機能で追加されたリンクを、簡単に編集できるようにするためのUIリンクを生成するのに役立ちます。

  • 引数にリンクテキストやクラス名を渡すことが可能です。
  • 管理者のみが表示できるように条件付きで動作します。

シンプルなコード例

edit_bookmark_link();

出力例

<a href="https://example.com/wp-admin/link.php?action=edit&link_id=42">Edit Link</a>

使い方の解説

edit_bookmark_link() を使用することで、リンクの一覧から管理者が素早くリンクの編集画面に移動できるようになります。このタグは通常、ブックマーク一覧やカスタムテーマのリンク表示部分で使用します。

引数

  • $link(任意):表示するリンクオブジェクトを指定します。
  • $text(任意):リンクのテキストを指定します(例:"編集")。
  • $before / $after(任意):リンクの前後に追加するHTML文字列を指定します。

リンクの編集リンクを表示例

edit_bookmark_link('編集する', '<span>', '</span>');

この例では、リンクテキストを「編集する」と指定し、HTMLタグ <span> を前後に追加しています。出力されるリンクは、リンクの管理者がクリックすることで、対象のリンク編集ページに遷移します。

出力例

<span><a href="https://example.com/wp-admin/link.php?action=edit&link_id=42">編集する</a></span>

一緒に使うことが多い関連タグ

get_bookmarks()

get_bookmarks() は、WordPressで登録されているリンク(ブックマーク)のリストを取得するタグです。このタグと組み合わせることで、ブックマーク一覧に編集リンクを付加できます。

$bookmarks = get_bookmarks();
foreach ($bookmarks as $bookmark) {
    echo '<li>';
    echo $bookmark->link_name;
    edit_bookmark_link('編集', '<small>(', ')</small>', $bookmark->link_id);
    echo '</li>';
}

この例では、登録されたすべてのリンクを取得し、それぞれのリンク名の横に「編集」のリンクを表示しています。

link_url()

link_url() は、リンク先のURLを取得するタグです。ブックマーク自体のリンクを表示する場合に使用します。

$bookmarks = get_bookmarks();
foreach ($bookmarks as $bookmark) {
    echo '<a href="' . $bookmark->link_url . '">' . $bookmark->link_name . '</a>';
    edit_bookmark_link('編集', ' [', ']', $bookmark->link_id);
}

このコードは、ブックマーク名とリンクを生成し、その横に編集リンクを追加しています。

追加情報を取得したい場合

get_bookmark() でリンクの詳細を取得する

get_bookmark() を使うことで、特定のリンク(ブックマーク)の詳細情報を取得できます。

$bookmark = get_bookmark(42);
echo 'Name: ' . $bookmark->link_name . '<br>';
echo 'URL: ' . $bookmark->link_url . '<br>';
echo 'Description: ' . $bookmark->link_description;

この例では、IDが42のリンクの詳細情報を取得し、名前・URL・説明を表示しています。

出力できる情報

  • link_name: リンクの名前
  • link_url: リンク先のURL
  • link_description: リンクの説明
  • link_rating: リンクの評価(0~10の整数)

想定されるトラブル

一般ユーザーがリンクを編集できてしまう

edit_bookmark_link() は、適切な権限チェックを行わないと、一般ユーザーにも表示される可能性があります。

解決策

管理者のみ表示するように条件分岐を追加します。

if (current_user_can('manage_links')) {
    edit_bookmark_link();
}

リンクIDが指定されていない

edit_bookmark_link() にリンクIDが渡されないと、リンクが正常に表示されません。

if (current_user_can('manage_links')) {
    edit_bookmark_link();
}

解決策

事前にリンクIDを確認し、get_bookmarks() から取得するようにします。

Q&A

edit_bookmark_link() を使ってもリンクが表示されません。

一般ユーザーには表示されない仕様です。管理者権限があるユーザーで確認してください。

ブックマーク管理が表示されないのはなぜですか?

WordPress 3.5以降、リンク管理機能はデフォルトで無効化されています。Link Manager プラグインを有効にしてください。

edit_bookmark_link() で表示されるテキストを変更できますか?

第二引数に任意のテキストを渡すことで変更可能です。例:edit_bookmark_link('リンクを編集')

まとめ

edit_bookmark_link() は、WordPressのリンク(ブックマーク)を管理・編集するための便利なテンプレートタグです。リンク管理機能を使用している場合、各リンクの編集画面へのアクセスを提供することで、効率的な運用が可能になります。
関連タグである get_bookmarks()link_url() との組み合わせで、柔軟なリンク一覧の作成ができます。リンク管理を使っている場合、このタグを活用することで、管理者にとってより操作しやすいインターフェースを提供できます。

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

コメント

コメントする

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

目次