概要
acf/fields/taxonomy/resultフィルタは、Advanced Custom Fields(ACF)の分類フィールド内で使用されるテキストをカスタマイズするための強力な手段です。このフィルタを使用することで、分類用語の表示名やその他の情報を変更することが可能です。これは、特定の条件に応じて用語がどのように表示されるかを変更したい場合に非常に便利です。
このフィルタは、以下のような機能を実装する際によく使用されます:
- 分類用語の表示名にカスタムプレフィックスやサフィックスを追加する。
- 特定のユーザー権限に基づいて表示名を変更する。
- 用語のカウントを表示するためにカスタムテキストを追加する。
- 特定の条件に基づいて用語を二重化・カスタマイズする。
- 表示する用語リストのフィルタリングを行う。
- セマンティックな表示名に変更することで、SEO効果を高める。
構文
add_filter('acf/fields/taxonomy/result', 'my_acf_taxonomy_result_filter', 10, 4);
パラメータ
string $text: 現在の表示テキストobject $term: 変更対象の用語オブジェクトstring $taxonomy: 分類のタクソノミー名int $term_id: 用語のID
戻り値
- 変更後のテキスト(string)
使用可能なバージョン
- ACFバージョン:5.0以上
- WordPressバージョン:4.0以上
サンプルコード
サンプルコード1: プレフィックスを追加
このサンプルでは、用語の表示名に「Category:」というプレフィックスを追加します。
add_filter('acf/fields/taxonomy/result', 'add_prefix_to_taxonomy_term', 10, 4);
function add_prefix_to_taxonomy_term($text, $term, $taxonomy, $term_id) {
return 'Category: ' . $text;
}
サンプルコード2: 特定のユーザー権限による変更
このコードは、特定のユーザー権限を持つ場合に表示名を変更するものです。
add_filter('acf/fields/taxonomy/result', 'change_taxonomy_term_if_admin', 10, 4);
function change_taxonomy_term_if_admin($text, $term, $taxonomy, $term_id) {
if (current_user_can('administrator')) {
return '[Admin] ' . $text;
}
return $text;
}
サンプルコード3: 用語のカウントを追加
このサンプルでは、用語に関連する投稿数を表示名に追加します。
add_filter('acf/fields/taxonomy/result', 'add_post_count_to_term', 10, 4);
function add_post_count_to_term($text, $term, $taxonomy, $term_id) {
$post_count = $term->count;
return $text . ' (' . $post_count . ')';
}
サンプルコード4: カスタムロジックによるフィルタリング
このコードは、特定の条件に基づいたフィルタリングを行います。
add_filter('acf/fields/taxonomy/result', 'filter_taxonomy_terms', 10, 4);
function filter_taxonomy_terms($text, $term, $taxonomy, $term_id) {
if ($term->slug === 'special-term') {
return $text . ' - Special!';
}
return $text;
}
サンプルコード5: セマンティック変更
このサンプルでは、SEOを考慮して表示名を変換します。
add_filter('acf/fields/taxonomy/result', 'seo_friendly_taxonomy_term', 10, 4);
function seo_friendly_taxonomy_term($text, $term, $taxonomy, $term_id) {
return str_replace(' ', '-', strtolower($text));
}
この関数のアクションでの使用可能性
| アクション | 使用可能 |
|---|---|
| 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 |