Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从另一个高级自定义字段中获取高级自定义字段选择值?_Php_Wordpress_Advanced Custom Fields - Fatal编程技术网

Php 如何从另一个高级自定义字段中获取高级自定义字段选择值?

Php 如何从另一个高级自定义字段中获取高级自定义字段选择值?,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我使用高级自定义字段插件创建了两个自定义字段。我希望它的行为就像我在一个文本字段中插入值一样,它应该填充在另一个字段中,这是一个选择字段 这张图片是我插入名称值和slug值的示例。 我要它把这个还给我 创建一个包含以下内容的javascript文件(用字段的id替换两个id,如果我正确,则应以acf字段-)开头) 在functions.php中,确保js文件加载到管理区域(在本例中,link-acf-fields.js文件位于我的主题的js文件夹中): 要在ACF中自动填充选择字段,您可以使用

我使用高级自定义字段插件创建了两个自定义字段。我希望它的行为就像我在一个文本字段中插入值一样,它应该填充在另一个字段中,这是一个选择字段

这张图片是我插入名称值和slug值的示例。 我要它把这个还给我


创建一个包含以下内容的javascript文件(用字段的id替换两个id,如果我正确,则应以acf字段-)开头)

在functions.php中,确保js文件加载到管理区域(在本例中,link-acf-fields.js文件位于我的主题的js文件夹中):


要在ACF中自动填充选择字段,您可以使用load_field功能-请参阅此处的更多信息:

因此,假设您选择的字段名是marke_name,您可以将以下内容添加到functions.php文件中,这样每次都会填充该字段

function acf_load_marke_name_field_choices($field)
{
    global $post;
    //Get the repeater field values
    $choices = get_field('repeater_field_name',$post->ID);
    // loop through array and add to field 'choices'
    if (is_array($choices)) {
        foreach ($choices as $choice) {
            //Set the select values
            $field['choices'][$choice['slug']] = $choice['name'];
        }
    }

    // return the field
    return $field;
}

add_filter('acf/load_field/name=marke_name', 'acf_load_marke_name_field_choices');

发布一些代码相关代码!Java脚本是你的朋友,你能给我一个使用JavaScript的例子吗@但我的第一个字段是中继器字段@Hdk
function my_custom_admin_scripts() {
    wp_register_script('link-acf-fields', get_template_directory_uri() . '/js/link-acf-fields.js', 'jquery', false, true );
    wp_enqueue_script('link-acf-fields');
}
add_action( 'admin_enqueue_scripts', 'my_custom_admin_scripts' );
function acf_load_marke_name_field_choices($field)
{
    global $post;
    //Get the repeater field values
    $choices = get_field('repeater_field_name',$post->ID);
    // loop through array and add to field 'choices'
    if (is_array($choices)) {
        foreach ($choices as $choice) {
            //Set the select values
            $field['choices'][$choice['slug']] = $choice['name'];
        }
    }

    // return the field
    return $field;
}

add_filter('acf/load_field/name=marke_name', 'acf_load_marke_name_field_choices');