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()
を使用してください。
コメント