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

时间:2016-02-19 10:08:13

标签: php wordpress wordpress-plugin advanced-custom-fields

  

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

Custom Field 1

  

此图像是我插入名称值和slug值的示例。   我想让它归还。

enter image description here

2 个答案:

答案 0 :(得分:1)

要在ACF中自动填充选择字段,您可以使用load_field函数 - 请参阅此处:http://www.advancedcustomfields.com/resources/acfload_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');

答案 1 :(得分:0)

使用以下内容创建一个javascript文件(将id替换为字段的id,如果我是对的,则应该以acf-field开头 - )

(function($) {
    $('#id_of_input_with_value').on('blur', function(){
        $('#id_of_input_which_should_get_input_value').val($(this).val());
    });
})(jQuery);

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

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' );