您可以在管理面板的分类关系字段中显示 ACF 字段吗?

Can you display an ACF field in a taxonomy relationship field in the admin panel?

我有一个城市名称分类法。他们有一个州的 ACF 字段。但是,当您编辑与此分类相关联的 post 类型时,您只能在分类 select 列表中看到城市名称。对于像波特兰这样的城市来说,这可能是个问题,在美国至少有 2 个这样的城市。斯普林菲尔德等也是如此

有谁知道当您编辑 post 类型时,我是否可以应用一些挂钩在管理面板中显示带有标题的 ACF 字段?

下图应该可以说明需求。基本上,我只想说缅因州波特兰,而不仅仅是波特兰(其他城市也一样)。但是我需要在字段中分开名称,所以我不能只分别用它们的州命名城市。

以前有人做过吗?

我尝试使用谷歌搜索并使用 ACF 的扩展插件,但几乎找到了在分类编辑屏幕中添加列的结果,而我不需要这些。它只是在 post 旁边的分类模块中,当您编辑时需要某种额外的字段,或者能够将标题与 ACF 字段连接起来。

更新

感谢 Orbital 的帮助,我能够让它完成我需要的事情。 is_admin 部分没有工作,因为列表是由 ajax 检索的,所以我不得不偷偷摸摸。这可能不是最安全的方法,但该功能是无害的,所以我对此并不担心。最终代码如下:

if( current_user_can( 'manage_options' ) && strpos($_SERVER['REQUEST_URI'], "wp-json" ) == 1 ) {
    add_filter('get_term', 'change_term_name_at_admin', 10, 2);

    function change_term_name_at_admin($term, $taxonomy) {
        if ($taxonomy == 'markets') {
            $key_field_acf = "markets_" . $term->term_id; 

            $state_name = get_field( 'state', $key_field_acf );

            if ($state_name != "") {
                $new_name = $term->name . ', ' . $state_name;
                $term->name = $new_name;
            }
        }
        return $term;
    }
}

试试这个代码

我们仅将 your_taxonomy_name 的 Wordpress 管理员的显示格式更改为“术语名称 - 州名称”

add_filter('get_term', 'change_term_name_at_admin', 10, 2);

function change_term_name_at_admin($term, $taxonomy) {
    //only for admin, not front
    if( is_admin() ) {


   if ($taxonomy == 'your_taxonomy_name') {

            $key_field_acf = "your_taxonomy_name_" . $term->term_id; 

            $state_name = get_field( 'state_name ', $key_field_acf );

            if ($new_name !="") {
             $new_name = $term->name . ' -' . $state_name;
                $term->name = $new_name;
            }

   }
}
    return $term;
}

更改此行

if ($taxonomy == 'your_taxonomy_name') {

并在这一行

$key_field_acf = "your_taxonomy_name_" . $term->term_id;

your_taxonomy_name 到您的城市分类名称