edit_tag_link() は、特定のタグ(カテゴリーやカスタム分類も含む)を編集するためのリンクを生成するテンプレートタグです。このリンクは、編集権限のあるユーザーにのみ表示されます。
機能の説明
edit_tag_link() は、指定したタグ(またはターム)に対する編集リンクを生成し、WordPressの管理画面でそのタームを編集できるようにします。
このテンプレートタグは、ユーザーが投稿に付与されたタグを編集する際に役立ちます。
- このタグを使うと、「タグの編集画面」へのリンクを簡単に出力できます。
- リンクは管理者や編集者など、編集権限のあるユーザーにのみ表示されます。
シンプルなコード例
edit_tag_link('このタグを編集', '<p>', '</p>');出力例
<p><a href="https://example.com/wp-admin/term.php?taxonomy=post_tag&tag_ID=123">このタグを編集</a></p>使い方の解説
edit_tag_link() を使うと、管理者画面へのタグ編集リンクをHTMLタグで囲んで表示できます。
引数
- $link(任意): リンクテキスト。デフォルトは- 'Edit Tag'。
- $before(任意): リンクの前に挿入するHTML。
- $after(任意): リンクの後に挿入するHTML。
- $tag_id(任意): 編集対象のタグ(またはターム)のID。
タグ編集リンクの表示例
if (current_user_can('edit_terms')) {
    edit_tag_link('タグを編集', '<span>', '</span>');
}この例では、edit_tag_link() がタグを編集するリンクを生成し、<span>タグで囲んでいます。current_user_can('edit_terms')で、現在のユーザーがタグ編集権限を持っているかを確認しています。
一緒に使うことが多い関連タ
get_the_terms()
get_the_terms() は、投稿に紐づけられたタグやカスタム分類のタームを取得するテンプレートタグです。
$terms = get_the_terms(get_the_ID(), 'post_tag');
if ($terms && !is_wp_error($terms)) {
    foreach ($terms as $term) {
        echo '<p>' . $term->name . '</p>';
        edit_tag_link('編集', '<span>', '</span>', $term->term_id);
    }
}この例では、get_the_terms()で現在の投稿に付与されたタグを取得し、edit_tag_link()でそれぞれのタグに編集リンクを付けています。
edit_term_link()
edit_term_link() は、特定のターム(カテゴリーやタグを含む)の編集リンクを取得するためのテンプレートタグです。edit_tag_link()はタグに特化していますが、edit_term_link()はあらゆるタクソノミーに対応しています。
追加情報を取得したい場合
get_term() でタグの詳細を取得
get_term() を使えば、特定のタグに関する詳細情報を取得できます。
$tag = get_term(123, 'post_tag');
echo 'タグ名: ' . $tag->name . '<br>';
echo 'スラッグ: ' . $tag->slug . '<br>';
edit_tag_link('このタグを編集', '<p>', '</p>', $tag->term_id);この例では、get_term()で取得したタグの名前とスラッグを表示し、そのタグに対応する編集リンクを作成しています。
出力できる情報
- name: タグの名前
- slug: タグのスラッグ(URLフレンドリーな名前)
- description: タグの説明
- count: タグが付けられた投稿の数
想定されるトラブル
タグ編集リンクが表示されない
ユーザーがタグを編集する権限を持っていない可能性があります。
解決策
current_user_can() を使用して、権限を確認してください。
if (current_user_can('edit_terms')) {
    edit_tag_link('タグを編集');
}Q&A
まとめ
edit_tag_link() は、特定のタグを編集するためのリンクを生成するテンプレートタグです。タグに編集リンクを表示することで、管理者や編集者が素早くタグを編集できます。タグの取得にはget_the_terms()などの関連タグと組み合わせることが一般的です。
このテンプレートタグを使用する際は、ユーザーの権限を確認することが重要です。また、タグ編集リンクは、post_tag以外のタクソノミーには対応していないため、カスタムタクソノミーを扱う場合はedit_term_link()を使用してください。

コメント