概要
get_edit_term_link
フィルタは、特定のタームの編集ページURLを取得する際に使用され、さまざまなプラグインやテーマでのカスタマイズを容易にします。このフィルタを利用することで、タームの編集リンクを動的に変更・拡張することが可能となり、以下のような機能を実装する場合に役立ちます。
- タームの編集リンクにカスタムパラメータを追加する
- ユーザーの権限に応じて編集リンクを変更する
- 特定の条件下でタームの編集ページへリダイレクトする
- タームに関連するメタ情報をURLに含める
- タームの編集が行える場合の特定のメッセージを表示する
- マルチサイト環境でのURLを調整する
- タームの分類に応じた特定のスタイルやクラスを追加する
- 外部システムとの連携のためにURLを構築する
構文
apply_filters( 'get_edit_term_link', $url, $term_id, $taxonomy );
パラメータ
$url
: ターム編集ページの基本URL(文字列)$term_id
: タームのID(整数)$taxonomy
: タクソノミーのスラッグ(文字列)
戻り値
- フィルタが適用された後のターム編集ページのURL(文字列)
関連する関数
使用可能なバージョン
- WordPress 3.0以降
コアファイルのパス
wp-includes/taxonomy.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: ターム編集リンクにクエリパラメータを追加する
add_filter( 'get_edit_term_link', function( $url, $term_id, $taxonomy ) {
return add_query_arg( 'custom_param', 'value', $url );
}, 10, 3 );
このサンプルコードは、ターム編集リンクにcustom_param
というクエリパラメータを追加します。
サンプルコード2: 権限に応じてURLを変更する
add_filter( 'get_edit_term_link', function( $url, $term_id, $taxonomy ) {
if ( ! current_user_can( 'manage_terms' ) ) {
return '#'; // 権限がない場合、リンクを無効化
}
return $url;
}, 10, 3 );
このコードは、ユーザーがタームを管理する権限を持たない場合、ターム編集リンクを#
に置き換えます。
サンプルコード3: カスタムスタイルを追加する
add_filter( 'get_edit_term_link', function( $url, $term_id, $taxonomy ) {
return str_replace( '<a', '<a class="custom-class"', $url );
}, 10, 3 );
このコードでは、生成されたリンクにカスタムクラスcustom-class
を追加します。
サンプルコード4: URLをリダイレクトする
add_filter( 'get_edit_term_link', function( $url, $term_id, $taxonomy ) {
if ( some_condition_check() ) {
return home_url( '/custom-edit-page/' ); // 条件に応じてカスタムページにリダイレクト
}
return $url;
}, 10, 3 );
このサンプルは、特定の条件に基づいてタームの編集ページを異なるURLにリダイレクトします。
サンプルコード5: URLをコンディションに応じて変更
add_filter( 'get_edit_term_link', function( $url, $term_id, $taxonomy ) {
if ( 'category' === $taxonomy ) {
return str_replace( 'wp-admin/', 'admin/', $url ); // カテゴリーの場合、URLを変更する
}
return $url;
}, 10, 3 );
このコードでは、タクソノミーがカテゴリーの場合に、管理者リンクの一部を変更します。